iT邦幫忙

8

ASP.NET 如何將檔案寫入到網路芳鄰的分享目錄

由於 ASP.NET 在運行的時候,是採用 ASPNET (IIS5) 或 NETWORK SERVICE (IIS6) 身份在執行的,因此並無權限將檔案讀取或寫入到網路芳鄰的 Share Folder 中。

因為透過 IIS 是可以讀的到檔案的,但是透過 ASP.NET 卻無法正確的取得檔案!使用 System.IO.File.ReadAllText(filename) 讀取檔案內容時,就會發生 Exception !甚至連 File.Exists(filename) 都無法檢查檔案是否存在!

這很有可能會讓 .Net 新手誤以為是 .Net 的 Bug !!

  1. 新增一個共用的使用者到「 File 主機」與「每一台WEB主機」,每台主機的帳號、密碼都要一樣
  2. 在 File 主機新增分享目錄
  3. 修改目錄權限 ( File 主機 )
  4. 修改目錄權限 ( 所有 WEB 主機 )
    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
    ImpersonateUser 可讀取、可寫入
  5. 確認 IIS 的虛擬目錄設定
  6. 修改網站的 web.config
    在 <system.web> 底下新增 <identity> 設定,讓網站用 ImpersonateUser 的身份執行!
    <identity impersonate="true" userName="ImpersonateUser" password="pwd" />

只要以上六個步驟就可以完成 Webfarm 的架構設定!


尚未有邦友留言

立即登入留言