2017-07-16 107 views
4

我們使用Lucene.Net實現了搜索,索引存儲在Azure存儲文件夾中,幾天前我們將Web應用程序從Azure CloudService遷移到Azure AppService。 如果我們運行這個本地它能正常工作,也能在CloudService但是,當我們發表我們的Web應用程序天青AppService服務 我們有以下異常:使用Lucene.Net和Azure App Service無法訪問Azure存儲

System.UnauthorizedAccessException:對路徑「d:\ AzureDirectory ' 被拒絕。

試圖更新AzureDirectory和Azure存儲包,但它不起作用。

任何想法?

+0

以前的指標均在雲服務或Azure存儲? –

+0

在Azure存儲中,我們只將Web應用程序移至appservice。 –

回答

4

感謝, 解決方案是改變Lucene.Net.Store.Azure.AzureDirectory小號CacheDirectory路徑D:/Home/AzureDirectory

AzureDirectory(cloudStorageAccount, containerName, FSDirectory.Open(new DirectoryInfo("D:/Home/AzureDirectory"))) 

至於你提到我沒有d:\訪問

1

您沒有d:\訪問權限。在Web應用程序中,您的應用程序的使用壽命爲d:\home(更準確地說d:\home\site)。

另外 - fyi這不是「Azure存儲」 - 該術語是指blob存儲。

2

嘗試更新AzureDirectory

正如David Makogon提到,在Azure中Web應用程序,我們沒有獲得創建或訪問d:\ AzureDirectory文件夾。我們可以從Azure WebApp Sandbox獲得更多信息。以下是該文檔的片段

文件系統限制/注意事項

應用程序在自己的文件系統的訪問權限方面高度受限。

訪問主目錄(d:\家庭)

每Azure的Web App有/存儲在主目錄由Azure存儲支持。這個網絡共享是應用程序存儲其內容的地方。該目錄可用於具有讀/寫訪問權限的沙箱。

根據你所提到的例外,它似乎有些代碼要訪問的文件夾d:\ AzureDirectory,但它不是在Azure的Web應用程序的存在。我們還可以遠程調試Azure中的WebApp以查找相關代碼,更多詳細信息請參閱Remote debugging web apps

相關問題