2009-02-02 83 views
1

我有一個Windows服務,承載主要的WCF服務。此服務的客戶端都在IIS 7中託管,第一個是IIS託管的WCF服務,第二個是標準的Asp.Net應用程序。這兩個IIS託管的客戶端都通過命名管道與Windows服務進行通信。Win2008中奇怪的通信錯誤

IIS託管的WCF服務可以完美地與Windows託管的WCF服務進行通信,但Asp.Net服務失敗並出現此錯誤: 無法從管道URI獲取管道名稱:訪問被拒絕。

我的第一反應是,這是一個權限問題的地方,但我不知道在哪裏。其次,爲什麼IIS託管的WCF服務能夠正常通信,但Asp.Net應用程序失敗?

+0

有一點需要補充:這個系統的父網站是一個頭盔網站,我不太熟悉的一個應用程序。當我切換用戶時,AppPool正在使用從NetworkService到LocalSystem,導致父網站web.config中出現錯誤,我認爲我是走錯了路。 – 2009-02-02 16:07:02

回答

1

好的,我解決了,或者說我想出了許可問題。

事實證明,匿名身份驗證設置使用了由我們的客戶(物理人員,而不是我們的WCF客戶端)創建的一些奇怪的用戶,而不是NetworkService用戶(應用程序池使用的身份)。

但是,這幾乎產生了另一個問題:爲什麼甚至新創建的網站默認這個IUSR,而不是系統默認值?在任何情況下,我只希望這被谷歌索引,因爲幾乎沒有任何文章與它有關。

0

檢查WCF和ASP.NET服務駐留在應用程序池的身份。

也許WCF服務的應用程序池具有比其它的應用程序池不同權限的身份?

+0

我以爲同樣的事情,但他們都使用相同的應用程序池。我甚至嘗試將用戶從NetworkService切換到LocalSystem,切換到LocalUser。沒有運氣。 – 2009-02-02 16:04:39