我正在與Windows Azure一起創建一個ASP.NET MVC項目,我已經檢查了WAPTK(Windows Azure平臺培訓工具包),Google,並且在這裏爲我的問題提供了答案,但是我找不到答案。在ASP.NET MVC項目中,我在哪個文件中爲雲存儲創建容器? (在WAPTK中,有一個動手實驗室,它使用webforms並將存儲容器放入_Default部分類中。)在Windows Azure中,我應該爲ASP.NET MVC存儲哪些文件?
回答
在ASP.NET MVC項目中,我在哪個文件中爲雲存儲創建容器? (在WAPTK,有一個動手實驗,使用Web表單,並把存儲容器中,在_Default部分類)。
一般來說,我會建議你在一些設立了集裝箱接入(包括創建)很好地封裝類 - 最好隱藏在易於測試的界面之後。
我建議:
- 把這個類,它是一個類庫接口(而不是在你的ASP.Net項目)
- 把配置細節在csdef/cscfg文件
- 如果您只打算使用固定的容器列表,則可以:
- 在安裝您的應用程序之前創建這些應用程序 - 例如從一個簡單的命令行應用程序
- 或Global.asax中
- 的初始化創建這些從呼叫如果計劃動態創建的容器(例如,用於不同的用戶或動作),然後從控制器/服務創建這些代碼是必需的 - 例如當用戶註冊或首次執行操作時。如果行爲可能發生多次,並且你真的不知道容器是否在那裏,那麼找到一些方法(例如,內存中的散列表或in-sql持久表)來幫助確保你不'需要不斷調用CreateIfNotExist - 記住,每次調用CreateIfNotExist都會降低您的應用程序的性能並降低成本。
- 爲「正常」的訪問操作,例如讀取/寫入/刪除,這些通常是由控制器代碼 - 或者從服務代碼坐在無疑是一個控制器
如果後面,想起來有點像「如何如果我在本地磁盤上或在共享網絡驅動器上創建文件夾,我是否可以劃分邏輯「
希望能有所幫助。
斯圖爾特
我不確定我是否正確理解您,但一般來說文件和Azure不合適好。存儲在本地文件系統中的所有更改都是不穩定的,只能保證與當前Azure實例一樣長。但是,您可以創建一個blob和mount it as a local drive,這會使數據持久。這種方法有一些侷限性,因爲它會允許一個天藍色的實例寫入和最多8個讀取器。
所以相反,你應該使用blob而不是文件。知道訪問哪個blob的問題將通過使用Azure表存儲來爲Blob索引來解決。
我最近去那裏演講已經調查了不少關於Azure的表存儲和他的研究結果是,限制分區鍵100-1000元組將提供最佳性能的介紹。 (分區鍵湛藍的內部使用,以確定哪些數據組。)
這很明顯,我需要更清楚一點。 –
你絕對應該使用Blob存儲爲您的文件。這並不是特別困難,因爲這是一個新項目,不需要使用Azure Drives。
如果你只是使用Blob存儲服務爲您的網站中的圖片,那麼你可以用普通的標籤中引用它們在你的HTML如
<img src="http://myaccountname.blob.core.windows.net/containername/filename">
如果文件或容器共享這隻會工作,不安全。如果您只是在html頁面上提供靜態內容,這很好。
如果你想有斑點的安全訪問一個安全的網站,那麼你必須做兩件事情,首先你的網站就需要知道如何訪問您的斑點。
在ServiceDefinition.csdef中的文件你將需要包括
<Setting name="StorageAccount" />
然後添加
<Setting name="StorageAccount" value="DefaultEndpointsProtocol=https;
AccountName=[youraccountname];AccountKey=[youraccountkey]" />
您serviceconfiguration.csfg文件。
然後你可以使用在Windows Azure SDK訪問您的Web角色帳戶內。與
Dim Account As CloudStorageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("StorageAccount"))
Dim blobClient As CloudBlobClient = Account.CreateCloudBlobClient
開始從那裏你可以
- 讀/寫斑點
- 刪除斑點
- 列表斑點
- 使用共享訪問簽名的創建時間有限的網址。
史蒂夫馬克思有很大的資源here。雖然它是關於從silverlight訪問blob存儲而不使用的,它會在一個地方爲您提供大量信息。
你的問題不是很具體,但這應該給你一些想法從哪裏開始。
@Faester是正確的,您可能需要一些資源或者表存儲或SQL Azure來存儲對這些文件的引用。
- 1. 我的Azure雲服務存儲文件應該放在哪裏?
- 2. 我應該在哪裏存儲ASP.NET MVC項目中的類文件?
- 3. ASP.NET應用程序應該在哪裏存儲數據文件?
- 4. 我應該使用哪些Microsoft Azure?
- 5. 我應該在版本控制中存儲Xcode項目的哪些文件?
- 6. 我應該在Android中存儲文件?
- 7. OAuth:我應該在令牌中存儲哪些信息
- 8. 我應該在FormsAuthentication Ticket中存儲哪些數據?
- 9. 我應該在PHP會話中存儲哪些數據?
- 10. 我應該在哪裏存儲我的一些項目參數?
- 11. 確定哪些字段要保存在Windows Azure表存儲
- 12. 我應該在ASP.NET-MVC 5項目中存儲WebAPI控制器?
- 13. asp.net的Windows Azure Blob存儲
- 14. ASP.NET指定應緩存哪些文件
- 15. 我應該在哪裏保存文件
- 16. TypeScript - 我應該檢查哪些文件?
- 17. 我應該在哪裏存儲CSS文件在SharePoint安裝?
- 18. 什麼ASP.NET MVC項目文件應該保存在存儲庫中?
- 19. 使用Azure表存儲時,我應該預期哪些狀態代碼
- 20. 哪些文件應該只讀爲TFS?
- 21. 我應該在哪裏存儲len(list)?
- 22. 我應該在哪裏存儲公鑰?
- 23. 我應該在哪裏存儲「MemberID」?
- 24. 我應該在哪裏存儲cookie?
- 25. 哪些活動用於移動Azure Blob存儲中的文件
- 26. FMDataBase - 我應該在哪裏存儲數據庫文件?
- 27. 我應該在哪裏存儲許可證文件?
- 28. 我應該在哪裏存儲M2Crypto文件
- 29. 我應該在哪裏存儲配置文件?
- 30. 哪些IntelliJ配置文件應該保存在我的點文件中?
這很有幫助,謝謝你的時間。 –