Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IIS with ASP.NET是否允許[虛擬目錄]使用[另一台電腦的共同位置]

2,544 views
Skip to first unread message

遊民

unread,
Nov 30, 2005, 10:05:02 PM11/30/05
to
這個問題我問過別人[我是使用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
--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

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

遊民

unread,
Dec 1, 2005, 5:08:02 AM12/1/05
to
感謝璉璉的回應,以下是我的疑問,謝謝!

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 路徑時可能會另外開一個網芳帳號,所以你就要授權給那個網芳帳號。
>
> "遊民" <@discussions.microsoft.com> 撰寫於郵件新聞:5352025B-F07F-44FF...@microsoft.com...

遊民

unread,
Dec 5, 2005, 6:16:02 AM12/5/05
to
若是匿名驗證,那是否要在存放aspx目錄的那台電腦上設定ASPNET及Network Service這兩個帳號啊?

--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

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


"璉璉" 來函:

> 1.是
> 2.若是使用 Windows 驗證或是 Web.config 指定使用者等情況時,就必須把指定的使用者或是群組設定權限給前述目錄
> 3.若是匿名驗證,請確認 ASPNET / Network Service 有該目錄寫入權限。存放 aspx 的目錄要有讀取權,若是有寫入資料檔時,才需要有寫入權。
>
> "遊民" <@discussions.microsoft.com> 撰寫於郵件新聞:135A5196-A294-458F...@microsoft.com...

遊民

unread,
Dec 5, 2005, 10:23:26 AM12/5/05
to
是問UNC路徑所指的電腦上存放ASPX檔案的目錄ㄚ!
因為那只是一台"單純"的網路磁碟機(可用UNC方式找到),可用Browser進入它的介面去做權限管理,所以才問是否在那台機器上建立ASPNET及Network Service帳號ㄚ!

--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

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


"璉璉" 來函:

> 你現在問哪一個?
> 1. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
> 2. 放網頁的檔案
> 3. UNC 路徑所指的電腦上的路徑
>
> "遊民" <@discussions.microsoft.com> 撰寫於郵件新聞:0D70CEF1-1509-463B...@microsoft.com...

遊民

unread,
Dec 13, 2005, 10:29:03 AM12/13/05
to
不知能否給一個範例,因為我自己去試,總試不出個所以然,謝謝!

--
下雨 漫步 心境空靈
城市 冷漠 彼此陌生

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


"璉璉" 來函:

> 網芳跟檔案總管都要分別在分享的那台電腦設定授權前述兩個帳號。
>
> IIS 直接禁用網路磁碟,所以不是在 Web 這台設,而是在分享那台設。其中帳號要指向 Web 這台的 ASPNET / Network Service 。
> 若是分享那台有指定帳號,則 Web 這台要用該代理帳號登入。
>
> "遊民" <@discussions.microsoft.com> 撰寫於郵件新聞:14D2A2EE-9260-47C7...@microsoft.com...

0 new messages