簡體   English   中英

通過運行asp.net mvc Web應用程序的IIS訪問映射驅動器

[英]Access mapped drive by IIS running asp.net mvc web application

我在虛擬機(Windows Server 2012 R2)中的IIS 8服務器上部署了一個asp.net mvc Web應用程序。 在此虛擬機Windows Server 2012 R2中,azure文件存儲被映射為網絡驅動器。 現在我的asp.net mvc Web應用程序需要通過C#System.IO代碼讀取此映射驅動器的文件和文件夾。 默認情況下,不允許IIS訪問映射的驅動器。

這就是Web應用程序拋出System.IO異常的原因

“找不到指定的路徑Z:\\”

我也嘗試傳遞"\\\\\\\\{storage-name}.file.core.windows.net\\\\{fileshare-name}但仍未成功。

有人可以指導我在IIS和Web應用程序中進行正確的配置和設置嗎?

最后,我成功通過IIS服務器訪問映射的網絡驅動器。 我執行了以下步驟。

  • 在VM上創建新用戶帳戶。
  • 此新帳戶的用戶名將是存儲帳戶名稱
  • 此用戶的密碼為存儲帳戶密鑰 ,以“==”結尾
  • 創建此新用戶帳戶后,我將此用戶的帳戶類型更改為管理員
  • 轉到我的電腦此電腦
  • 借助Map network drive ..選項連接網絡驅動
  • 打開IIS管理器窗口,轉到應用程序池
  • 選擇Web應用程序正在使用的應用程序池(在我的示例中,它是DefaultAppPool ,然后從右側窗格單擊Advanced Settings ...)
  • 使用新創建的用戶帳戶名和密碼更改此應用程序池的標識
  • 加載用戶配置文件設置為true
  • 單擊“確定”以保存更改。
  • 單擊右側窗格中的“ 回收”鏈接以刷新選定的應用程序池。
  • 現在選擇Default We Site下的Web應用程序。
  • 單擊“ 基本設置...”以打開“ 編輯站點”對話框。
  • 確保應用程序池名稱正確。
  • 單擊“ 連接為...”按鈕並選擇“ 特定用戶”單選按鈕,然后使用此新創建的用戶名(存儲帳戶名)和密碼(存​​儲帳戶密鑰)設置憑據。

而已。 現在您可以簡單地編寫標准C#IO代碼來訪問映射驅動器的目錄和文件。 這是一個示例示例。

var allDirs = Directory.GetDirectories("\\\\<storageaccountname>.file.core.windows.net\\<storagefileshare>");
ViewBag.Items = allDirs;

確保您只能通過UNC路徑格式訪問文件和文件夾,就像我在上面的代碼中所做的那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM