Discussion:
IIS with ASP.NET是否允許[虛擬目錄]使用[另一台電腦的共同位置]
(时间太久无法回复)
unknown
2005-12-01 03:05:02 UTC
Permalink
這個問題我問過別人[我是使用ASP.NET來開發的],但他推論似乎是IIS並不允許[虛擬目錄]使用[另一台電腦的共同位置]去做連結,但我還是想請教各位先進是否有辦法能夠解決,謝謝!

OS :Windows 2003 Server With IIS 6.0
程式位置:放置於另一台於網域的機器(Proware Techology
Corp.,所賣的型號為ON-R6000)上[只能使用Browser去做相關的使用者權限設定]
DataBase :Oracle 9i

出現以下的錯誤訊息,這是否IIS真的不允許ASP.NET的程式透過網路所分享的位置來做為[虛擬目錄],亦或是[權限]的設定上出現問題:

'/local/Web' 應用程式中發生伺服器錯誤。
--------------------------------------------------------------------------------

拒絕存取路徑 "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。

例外詳細資訊: System.UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。

沒有授權 ASP.NET 存取要求的資源。請考慮將資源存取權授予 ASP.NET 要求識別。ASP.NET 有一個基本處理序識別 (通常在 IIS 5
上為 {MACHINE}\ASPNET,在 IIS 6 上為 Network Service),會在應用程式未模擬的情況下使用。如果應用程式是透過
<identity impersonate="true"/> 模擬,這個識別將會是匿名使用者 (通常為 IUSR_MACHINENAME)
或經過驗證的要求使用者。

若要取得 ASP.NET 寫入檔案的存取權限,請在檔案總管中以右鍵按一下檔案,選擇 [內容] 並選取 [安全] 索引標籤。按一下 [新增]
加入適當的使用者或群組。反白顯示 ASP.NET 帳戶,並且選取所需存取權限的核取方塊。

原始程式錯誤:

在執行目前 Web 要求期間,產生無法處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。

堆疊追蹤:

[UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding,
Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
+20
System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesCombinedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +851
System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContext context) +97
System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(HttpContext context, String virtualPath, Boolean fApplicationFile) +29
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation() +91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +178
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +99
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +168
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context) +43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414




--------------------------------------------------------------------------------
版本資訊: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
unknown
2005-12-01 10:08:02 UTC
Permalink
感謝璉璉的回應,以下是我的疑問,謝謝!

1.能否告知UNC路徑為何?
是否為\\ServerName\DirectoryName

2.我從未修改過.NET的設定,故無法更新快取檔我就不知為啥了!

3.使用的帳號及UNC
路徑的網芳帳號均要授權完整權限到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files,那是否只需在Windows 2003 Server上設定就可,存放程式的目錄是否也要設定帳號為完整權限?
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說


"璉璉" 來函:
IIS 不允許使用網路磁碟,但是可以使用 UNC 路徑。
你的錯誤訊息是沒有足夠的權限更新快閃編譯
依據你的錯誤訊息,我推測你的 ASP.NET 並非是使用預設帳號,而且你修改過原始碼,導致 ASP.NET 服務自動進行快取編譯時,因權限不足,無法更新快取檔。
所以你把你使用的帳號授權完整權限到下面那個目錄:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
通常使用 UNC 路徑時可能會另外開一個網芳帳號,所以你就要授權給那個網芳帳號。
Post by unknown
這個問題我問過別人[我是使用ASP.NET來開發的],但他推論似乎是IIS並不允許[虛擬目錄]使用[另一台電腦的共同位置]去做連結,但我還是想請教各位先進是否有辦法能夠解決,謝謝!
OS :Windows 2003 Server With IIS 6.0
程式位置:放置於另一台於網域的機器(Proware Techology
Corp.,所賣的型號為ON-R6000)上[只能使用Browser去做相關的使用者權限設定]
DataBase :Oracle 9i
出現以下的錯誤訊息,這是否IIS真的不允許ASP.NET的程式透過網路所分享的位置來做為[虛擬目錄],亦或是[權限]的設定上出現問題:
'/local/Web' 應用程式中發生伺服器錯誤。
--------------------------------------------------------------------------------
拒絕存取路徑 "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
沒有授權 ASP.NET 存取要求的資源。請考慮將資源存取權授予 ASP.NET 要求識別。ASP.NET 有一個基本處理序識別 (通常在 IIS 5
上為 {MACHINE}\ASPNET,在 IIS 6 上為 Network Service),會在應用程式未模擬的情況下使用。如果應用程式是透過
<identity impersonate="true"/> 模擬,這個識別將會是匿名使用者 (通常為 IUSR_MACHINENAME)
或經過驗證的要求使用者。
若要取得 ASP.NET 寫入檔案的存取權限,請在檔案總管中以右鍵按一下檔案,選擇 [內容] 並選取 [安全] 索引標籤。按一下 [新增]
加入適當的使用者或群組。反白顯示 ASP.NET 帳戶,並且選取所需存取權限的核取方塊。
在執行目前 Web 要求期間,產生無法處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。
[UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding,
Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
+20
System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesCombinedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +851
System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContext context) +97
System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(HttpContext context, String virtualPath, Boolean fApplicationFile) +29
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation() +91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +178
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +99
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +168
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context) +43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
--------------------------------------------------------------------------------
版本資訊: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
unknown
2005-12-05 11:16:02 UTC
Permalink
若是匿名驗證,那是否要在存放aspx目錄的那台電腦上設定ASPNET及Network Service這兩個帳號啊?
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說


"璉璉" 來函:
1.是
2.若是使用 Windows 驗證或是 Web.config 指定使用者等情況時,就必須把指定的使用者或是群組設定權限給前述目錄
3.若是匿名驗證,請確認 ASPNET / Network Service 有該目錄寫入權限。存放 aspx 的目錄要有讀取權,若是有寫入資料檔時,才需要有寫入權。
Post by unknown
感謝璉璉的回應,以下是我的疑問,謝謝!
1.能否告知UNC路徑為何?
是否為\\ServerName\DirectoryName
2.我從未修改過.NET的設定,故無法更新快取檔我就不知為啥了!
3.使用的帳號及UNC
路徑的網芳帳號均要授權完整權限到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files,那是否只需在Windows 2003 Server上設定就可,存放程式的目錄是否也要設定帳號為完整權限?
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
"璉璉" 來函:
IIS 不允許使用網路磁碟,但是可以使用 UNC 路徑。
你的錯誤訊息是沒有足夠的權限更新快閃編譯
依據你的錯誤訊息,我推測你的 ASP.NET 並非是使用預設帳號,而且你修改過原始碼,導致 ASP.NET 服務自動進行快取編譯時,因權限不足,無法更新快取檔。
所以你把你使用的帳號授權完整權限到下面那個目錄:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
通常使用 UNC 路徑時可能會另外開一個網芳帳號,所以你就要授權給那個網芳帳號。
Post by unknown
這個問題我問過別人[我是使用ASP.NET來開發的],但他推論似乎是IIS並不允許[虛擬目錄]使用[另一台電腦的共同位置]去做連結,但我還是想請教各位先進是否有辦法能夠解決,謝謝!
OS :Windows 2003 Server With IIS 6.0
程式位置:放置於另一台於網域的機器(Proware Techology
Corp.,所賣的型號為ON-R6000)上[只能使用Browser去做相關的使用者權限設定]
DataBase :Oracle 9i
出現以下的錯誤訊息,這是否IIS真的不允許ASP.NET的程式透過網路所分享的位置來做為[虛擬目錄],亦或是[權限]的設定上出現問題:
'/local/Web' 應用程式中發生伺服器錯誤。
--------------------------------------------------------------------------------
拒絕存取路徑 "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
沒有授權 ASP.NET 存取要求的資源。請考慮將資源存取權授予 ASP.NET 要求識別。ASP.NET 有一個基本處理序識別 (通常在 IIS 5
上為 {MACHINE}\ASPNET,在 IIS 6 上為 Network Service),會在應用程式未模擬的情況下使用。如果應用程式是透過
<identity impersonate="true"/> 模擬,這個識別將會是匿名使用者 (通常為 IUSR_MACHINENAME)
或經過驗證的要求使用者。
若要取得 ASP.NET 寫入檔案的存取權限,請在檔案總管中以右鍵按一下檔案,選擇 [內容] 並選取 [安全] 索引標籤。按一下 [新增]
加入適當的使用者或群組。反白顯示 ASP.NET 帳戶,並且選取所需存取權限的核取方塊。
在執行目前 Web 要求期間,產生無法處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。
[UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding,
Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
+20
System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesCombinedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +851
System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContext context) +97
System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(HttpContext context, String virtualPath, Boolean fApplicationFile) +29
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation() +91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +178
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +99
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +168
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context) +43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
--------------------------------------------------------------------------------
版本資訊: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
unknown
2005-12-05 15:23:26 UTC
Permalink
是問UNC路徑所指的電腦上存放ASPX檔案的目錄ㄚ��
因為那只是一台"單純"的網路磁碟機(可用UNC方式找到),可用Browser進入它的介面去做權限管理,所以才問是否在那台機器上建立ASPNET及Network Service帳號ㄚ!
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說


"璉璉" 來函:
你現在問哪一個?
1. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
2. 放網頁的檔案
3. UNC 路徑所指的電腦上的路徑
Post by unknown
若是匿名驗證,那是否要在存放aspx目錄的那台電腦上設定ASPNET及Network Service這兩個帳號啊?
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
"璉璉" 來函:
1.是
2.若是使用 Windows 驗證或是 Web.config 指定使用者等情況時,就必須把指定的使用者或是群組設定權限給前述目錄
3.若是匿名驗證,請確認 ASPNET / Network Service 有該目錄寫入權限。存放 aspx 的目錄要有讀取權,若是有寫入資料檔時,才需要有寫入權。
Post by unknown
感謝璉璉的回應,以下是我的疑問,謝謝!
1.能否告知UNC路徑為何?
是否為\\ServerName\DirectoryName
2.我從未修改過.NET的設定,故無法更新快取檔我就不知為啥了!
3.使用的帳號及UNC
路徑的網芳帳號均要授權完整權限到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files,那是否只需在Windows 2003 Server上設定就可,存放程式的目錄是否也要設定帳號為完整權限?
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
"璉璉" 來函:
IIS 不允許使用網路磁碟,但是可以使用 UNC 路徑。
你的錯誤訊息是沒有足夠的權限更新快閃編譯
依據你的錯誤訊息,我推測你的 ASP.NET 並非是使用預設帳號,而且你修改過原始碼,導致 ASP.NET 服務自動進行快取編譯時,因權限不足,無法更新快取檔。
所以你把你使用的帳號授權完整權限到下面那個目錄:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
通常使用 UNC 路徑時可能會另外開一個網芳帳號,所以你就要授權給那個網芳帳號。
Post by unknown
這個問題我問過別人[我是使用ASP.NET來開發的],但他推論似乎是IIS並不允許[虛擬目錄]使用[另一台電腦的共同位置]去做連結,但我還是想請教各位先進是否有辦法能夠解決,謝謝!
OS :Windows 2003 Server With IIS 6.0
程式位置:放置於另一台於網域的機器(Proware Techology
Corp.,所賣的型號為ON-R6000)上[只能使用Browser去做相關的使用者權限設定]
DataBase :Oracle 9i
出現以下的錯誤訊息,這是否IIS真的不允許ASP.NET的程式透過網路所分享的位置來做為[虛擬目錄],亦或是[權限]的設定上出現問題:
'/local/Web' 應用程式中發生伺服器錯誤。
--------------------------------------------------------------------------------
拒絕存取路徑 "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
沒有授權 ASP.NET 存取要求的資源。請考慮將資源存取權授予 ASP.NET 要求識別。ASP.NET 有一個基本處理序識別 (通常在 IIS 5
上為 {MACHINE}\ASPNET,在 IIS 6 上為 Network Service),會在應用程式未模擬的情況下使用。如果應用程式是透過
<identity impersonate="true"/> 模擬,這個識別將會是匿名使用者 (通常為 IUSR_MACHINENAME)
或經過驗證的要求使用者。
若要取得 ASP.NET 寫入檔案的存取權限,請在檔案總管中以右鍵按一下檔案,選擇 [內容] 並選取 [安全] 索引標籤。按一下 [新增]
加入適當的使用者或群組。反白顯示 ASP.NET 帳戶,並且選取所需存取權限的核取方塊。
在執行目前 Web 要求期間,產生無法處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。
[UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding,
Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
+20
System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesCombinedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +851
System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContext context) +97
System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(HttpContext context, String virtualPath, Boolean fApplicationFile) +29
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation() +91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +178
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +99
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +168
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context) +43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
--------------------------------------------------------------------------------
版本資訊: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
unknown
2005-12-13 15:29:03 UTC
Permalink
不知能否給一個範例,因為我自己去試,總試不出個所以然,謝謝!
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說


"璉璉" 來函:
網芳跟檔案總管都要分別在分享的那台電腦設定授權前述兩個帳號。
IIS 直接禁用網路磁碟,所以不是在 Web 這台設,而是在分享那台設。其中帳號要指向 Web 這台的 ASPNET / Network Service 。
若是分享那台有指定帳號,則 Web 這台要用該代理帳號登入。
是問UNC路徑所指的電腦上存放ASPX檔案的目錄ㄚ!
因為那只是一台"單純"的網路磁碟機(可用UNC方式找到),可用Browser進入它的介面去做權限管理,所以才問是否在那台機器上建立ASPNET及Network Service帳號ㄚ!
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
"璉璉" 來函:
你現在問哪一個?
1. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
2. 放網頁的檔案
3. UNC 路徑所指的電腦上的路徑
Post by unknown
若是匿名驗證,那是否要在存放aspx目錄的那台電腦上設定ASPNET及Network Service這兩個帳號啊?
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
"璉璉" 來函:
1.是
2.若是使用 Windows 驗證或是 Web.config 指定使用者等情況時,就必須把指定的使用者或是群組設定權限給前述目錄
3.若是匿名驗證,請確認 ASPNET / Network Service 有該目錄寫入權限。存放 aspx 的目錄要有讀取權,若是有寫入資料檔時,才需要有寫入權。
Post by unknown
感謝璉璉的回應,以下是我的疑問,謝謝!
1.能否告知UNC路徑為何?
是否為\\ServerName\DirectoryName
2.我從未修改過.NET的設定,故無法更新快取檔我就不知為啥了!
3.使用的帳號及UNC
路徑的網芳帳號均要授權完整權限到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files,那是否只需在Windows 2003 Server上設定就可,存放程式的目錄是否也要設定帳號為完整權限?
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
"璉璉" 來函:
IIS 不允許使用網路磁碟,但是可以使用 UNC 路徑。
你的錯誤訊息是沒有足夠的權限更新快閃編譯
依據你的錯誤訊息,我推測你的 ASP.NET 並非是使用預設帳號,而且你修改過原始碼,導致 ASP.NET 服務自動進行快取編譯時,因權限不足,無法更新快取檔。
所以你把你使用的帳號授權完整權限到下面那個目錄:
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
通常使用 UNC 路徑時可能會另外開一個網芳帳號,所以你就要授權給那個網芳帳號。
Post by unknown
這個問題我問過別人[我是使用ASP.NET來開發的],但他推論似乎是IIS並不允許[虛擬目錄]使用[另一台電腦的共同位置]去做連結,但我還是想請教各位先進是否有辦法能夠解決,謝謝!
OS :Windows 2003 Server With IIS 6.0
程式位置:放置於另一台於網域的機器(Proware Techology
Corp.,所賣的型號為ON-R6000)上[只能使用Browser去做相關的使用者權限設定]
DataBase :Oracle 9i
出現以下的錯誤訊息,這是否IIS真的不允許ASP.NET的程式透過網路所分享的位置來做為[虛擬目錄],亦或是[權限]的設定上出現問題:
'/local/Web' 應用程式中發生伺服器錯誤。
--------------------------------------------------------------------------------
拒絕存取路徑 "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。
例外詳細資訊: System.UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。
沒有授權 ASP.NET 存取要求的資源。請考慮將資源存取權授予 ASP.NET 要求識別。ASP.NET 有一個基本處理序識別 (通常在 IIS 5
上為 {MACHINE}\ASPNET,在 IIS 6 上為 Network Service),會在應用程式未模擬的情況下使用。如果應用程式是透過
<identity impersonate="true"/> 模擬,這個識別將會是匿名使用者 (通常為 IUSR_MACHINENAME)
或經過驗證的要求使用者。
若要取得 ASP.NET 寫入檔案的存取權限,請在檔案總管中以右鍵按一下檔案,選擇 [內容] 並選取 [安全] 索引標籤。按一下 [新增]
加入適當的使用者或群組。反白顯示 ASP.NET 帳戶,並且選取所需存取權限的核取方塊。
在執行目前 Web 要求期間,產生無法處理的例外狀況。如需有關例外狀況來源與位置的資訊,可以使用下列的例外狀況堆疊追蹤取得。
[UnauthorizedAccessException: 拒絕存取路徑
"C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET
Files\local_festival\6e50edbb\d2d8770d\hash.web"。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean
bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access,
FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding,
Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding)
+20
System.Web.Compilation.PreservedAssemblyEntry.WritePreservedSpecialFilesCombinedHash(Int64 hash) +165
System.Web.Compilation.PreservedAssemblyEntry.DoFirstTimeInit(HttpContext
context) +851
System.Web.Compilation.PreservedAssemblyEntry.EnsureFirstTimeInit(HttpContext context) +97
System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry(HttpContext context, String virtualPath, Boolean fApplicationFile) +29
System.Web.UI.TemplateParser.GetParserCacheItemFromPreservedCompilation() +91
System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean
fCreateIfNotFound) +178
System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath() +125
System.Web.UI.TemplateParser.GetParserCacheItem() +99
System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String
inputFile, HttpContext context, ApplicationFileParser& parser) +168
System.Web.HttpApplicationFactory.CompileApplication(HttpContext context) +43
System.Web.HttpApplicationFactory.Init(HttpContext context) +485
System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext
context) +170
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +414
--------------------------------------------------------------------------------
版本資訊: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生
講又不聽,聽又不懂,懂又不做,做又做錯,錯又不認,認又不改,改又不服,不服又不說
继续阅读narkive:
Loading...