Создание веб роли для отображения гостевой книги 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание веб роли для отображения гостевой книги



  1. В Solution Explorer нажмите правой кнопкой по проекту GuestBook_WebRole, выберите Add Reference, затем выберите закладку Project, выделите GuestBook_Data и нажмите OK.
  2. Нажмите правой кнопкой по Default.aspx и выберите Delete. Нажмите OK.
  3. В Solution Explorer нажмите правой кнопкой по проекту GuestBook_WebRole, выберите Add, выделите Existing Item.
  4. В диалоге Add Existing Item выберите директорию \Source\Ex1-BuildingYourFirstWindowsAzureApp\CS\Assets, выберите Add.
  5. В Solution Explorer нажмите правой кнопкой по Default.aspx, выберите View Code, объявите следующие пространства имен

6. using System.IO;

7. using System.Net;

8. using Microsoft.WindowsAzure;

9. using Microsoft.WindowsAzure.ServiceRuntime;

10. using Microsoft.WindowsAzure.StorageClient;

using GuestBook_Data;

  1. В классе укажите

12.private static bool storageInitialized = false;

13. private static object gate = new Object();

private static CloudBlobClient blobStorage;

  1. Найдите событие SignButton_Click и добавьте следующий код

15.protected void SignButton_Click(object sender, EventArgs e)

16. {

17. if (FileUpload1.HasFile)

18. {

19. InitializeStorage();

20.

21. // upload the image to blob storage

22. CloudBlobContainer container = blobStorage.GetContainerReference("guestbookpics");

23. string uniqueBlobName = string.Format("image_{0}.jpg", Guid.NewGuid().ToString());

24. CloudBlockBlob blob = container.GetBlockBlobReference(uniqueBlobName);

25. blob.Properties.ContentType = FileUpload1.PostedFile.ContentType;

26. blob.UploadFromStream(FileUpload1.FileContent);

27. System.Diagnostics.Trace.TraceInformation("Uploaded image '{0}'

28. to blob storage as '{1}'", FileUpload1.FileName, uniqueBlobName);

29.

30. // create a new entry in table storage

31. GuestBookEntry entry = new GuestBookEntry() { GuestName = NameTextBox.Text,

32. Message = MessageTextBox.Text, PhotoUrl = blob.Uri.ToString(), ThumbnailUrl = blob.Uri.ToString() };

33. GuestBookEntryDataSource ds = new GuestBookEntryDataSource();

34. ds.AddGuestBookEntry(entry);

35. System.Diagnostics.Trace.TraceInformation("Added entry {0}-{1} in table storage for guest

36. '{2}'", entry.PartitionKey, entry.RowKey, entry.GuestName);

37. }

38.

39. NameTextBox.Text = "";

40. MessageTextBox.Text = "";

41.

42. DataList1.DataBind();

}

  1. Обновите метод Timer1_Tick

44.protected void Timer1_Tick(object sender, EventArgs e)

45. {

46. DataList1.DataBind();

}

  1. Обновите событие Page_Load

48.protected void Page_Load(object sender, EventArgs e)

49. {

50. if (!Page.IsPostBack)

51. {

52. Timer1.Enabled = true;

53. }

}

  1. Произведите изменения в методе InitializeStorage

55.private void InitializeStorage()

56. {

57. if (storageInitialized)

58. {

59. return;

60. }

61.

62. lock (gate)

63. {

64. if (storageInitialized)

65. {

66. return;

67. }

68.

69. try

70. {

71. // read account configuration settings

72. var storageAccount = CloudStorageAccount.FromConfigurationSetting("DataConnectionString");

73.

74. // create blob container for images

75. blobStorage = storageAccount.CreateCloudBlobClient();

76. CloudBlobContainer container = blobStorage.GetContainerReference("guestbookpics");

77. container.CreateIfNotExist();

78.

79. // configure container for public access

80. var permissions = container.GetPermissions();

81. permissions.PublicAccess = BlobContainerPublicAccessType.Container;

82. container.SetPermissions(permissions);

83. }

84. catch (WebException)

85. {

86. throw new WebException("Storage services initialization failure. "

87. + "Check your storage account configuration settings. If running locally, "

88. + "ensure that the Development Storage service is running.");

89. }

90.

91. storageInitialized = true;

92. }

}

  1. В Solution Explorer разверните узел Roles в проекте GuestBook. Нажмите два раза по GuestBook_WebRole, откроется свойства данной роли, выберите закладку Setting. Нажмите Add Setting, наберите "DataConnectionString" в колонке Name, измените Type на ConnectionString и нажмите Add Setting.

 

 

  1. В диалоге Storage Connection String выберите Use development storage и нажмите OK.

 

 

  1. Сохраните изменения.
  2. В проекте GuestBook_WebRole, откройте файл Global.asax.cs
  3. Объявите пространства имен

98.using Microsoft.WindowsAzure;

using Microsoft.WindowsAzure.ServiceRuntime;

  1. Вставьте следующий код внутрь метода Application_Start, заменим содержимое по умолчанию

100. void Application_Start(object sender, EventArgs e)

101. {

102. Microsoft.WindowsAzure.CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>

103. {

104. configSetter(RoleEnvironment.GetConfigurationSettingValue(configName));

105. });

}



Поделиться:


Последнее изменение этой страницы: 2016-12-12; просмотров: 292; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.233.43 (0.008 с.)