基於此回答:https://stackoverflow.com/a/2066040/458354我有一個web.config,它爲子目錄中的所有文件定義了一個自定義HttpHandler,放置在我的靜態文件子目錄中。如果該目錄(即使配置爲虛擬目錄)與IIS位於同一臺服務器上,則此功能可以很好地工作。但是,如果虛擬目錄指向另一臺服務器上的共享文件夾,則在訪問靜態資源時收到此錯誤:「加載配置文件時發生錯誤:文件監視的文件名無效:'\\ remoteserver \ remotedir \ web的.config」。」遠程虛擬目錄中的web.config
我甚至已經將遠程目錄的權限授予了來自web服務器的IIS_IUSR。我懷疑問題是配置路徑是一個共享。有什麼想法讓虛擬目錄web.config被IIS讀取?
或者,有沒有辦法在站點的普通web.config中配置處理程序路徑來覆蓋整個子目錄?
配置線問題:
<add name="MyRequestHandler" type="MyApp.StaticFileRequestHandler,
MyApp" path="*" resourceType="Either" verb="GET,HEAD"
requireAccess="Read"/>
實際上,遠程共享中的配置文件訪問得很好。我已將問題縮小到「路徑」值。如果只是通配符或請求的擴展名,則會引發錯誤,但如果路徑是未請求的特定擴展名,則不會發生此錯誤... – mdisibio
設置正常。似乎是AppPool身份的權限問題,如[http://stackoverflow.com/q/10354748/458354](http://stackoverflow.com/q/10354748/458354)中所述。將ApplicationPool身份設置爲用於連接到遠程虛擬目錄的同一身份,可以使處理程序按預期運行子目錄。給連接用戶權限的目錄是不夠的處理程序。 – mdisibio