老革命碰到新問題 ASP.NET程式訪問UNC路徑

來源:互聯網
上載者:User

經常會有一些ASP.net程式需要往檔案系統裡面寫入或者讀取一些內容。如果程式訪問的路徑是原生檔案路徑(c:\docTemp)這樣的話還比較好配置,只要將doctemp的使用權限設定為允許ASP.net運行帳號(IIS6預設用"Network Service",IIS5的話預設是"ASPNET")可以讀寫就行。但是如果檔案是需要放置在UNC(網路路徑,如:“\\10.101.11.111\DocTemp”)路徑上的話,就麻煩了。因為Window2003的共用出來的檔案.ASP.net運行帳號是無法訪問到該網路路徑的。因為檔案伺服器上的Network service和應用伺服器的Network service的密碼是不一樣的(都是動態產生的)。不過還好還是有辦法解決的。

如果你的兩個伺服器都在同一個域裡面的話,就建一個域帳號,將這個帳號加入IIS_WPG。同時IIS建一個程式運行池用這個域帳號來運行你的ASP.net程式。檔案伺服器上的路徑也制定這個域帳號能夠共用和訪問這個共用路徑就行了。

但是如果你的兩個伺服器都不在同一個域的話,就在兩個伺服器上分別建相同的帳號(密碼也必須一樣)。將Web伺服器的帳號加入IIS_WPG,同時IIS建一個程式運行池用這個域帳號來運行你的ASP.net程式,檔案伺服器上就指定這個帳號有共用和存取權限就可以了。

但是今天同事告訴我這樣配置也沒法解決,而且情況很詭異。配置好了,在伺服器本機訪問網站,附件的上傳下載都沒問題。但是在其他客戶機上面訪問的話就報該UNC路徑沒法訪問的錯誤。

於是遠程上伺服器看配置,找了半天也沒發現問題所在,共用的寫入讀取許可權都配好了,硬碟的NTFS安全許可權也配好了。不過伺服器好像存在下面幾個問題

  1.  
    1. 過在事件檢視器裡面發現一個來自於rxSMB的系統錯誤”重新導向程式無法確定連結類型“。
    2. 配置的NLB裡面心跳線的IP地址和公開地址是同網段,同掩碼的

估計是Windows沒法知道在訪問該UNC路徑的時候該走哪個網卡所致。後來讓同事把NLB去掉,重新設定其中一台伺服器問題解決了。後面估計還要跟蹤一下情況重新把NLB配置起來,看看是否還存在同樣的問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.