2010-07-31 85 views
0

我們發現一個問題,同時訪問我們的ASP.Net MVC項目在IIS 7中託管的Web服務(Windows 2008的),我們使用這個bindings.configWCF客戶端和Windows集成身份驗證

<basicHttpBinding> 
     <binding name="BasicServiceHttpBinding"> 
      <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="Windows"/> 
      </security> 
     </binding> 
</basicHttpBinding> 

雖然我們從VS2008測試整個應用程序,一切正常,但是當我們使用安裝程序安裝整個項目並將其託管在IIS下時,我們的項目無法訪問Web服務。

我猜不同的是誰擁有這個過程,在VS2008下運行應用程序時,ower是當前登錄用戶(域帳戶),但在IIS下託管應用程序時,用戶是不同的(可能是./管理員或IIS_USER而不是我的域帳戶)。

在運行一個控制檯應用程序作爲服務時,我們遇到了類似的問題,我們通過將服務所有者更改爲域帳戶而不是本地系統帳戶來修復它。

我想知道我們可以做一些類似於IIS中的項目嗎?我的意思是改變流程所有者?

以及在這種情況下訪問服務器API的最佳方式是什麼?

回答

1

是的這是最有可能的帳戶權限問題。如果您在一臺服務器上安裝ASP.NET應用程序並在另一臺服務器上安裝Web服務,並且您不更改ASP.NET應用程序的默認AppPool標識,則通常會發生這種情況

如果您需要更改用於運行ASP.NET MVC應用程序的帳戶,則必須打開IIS管理控制檯並查找哪個AppPool正在運行您的應用程序。比您可以更改該AppPool的帳戶。請注意,更多應用程序可以共享一個AppPool,以便在更改帳戶時影響其行爲。如果發生這種情況,您可以創建新的應用程序池並將其分配給您的應用程序。

最好的問候,拉吉斯拉夫·

+0

這正是我們所做的,非常感謝你的答案。 – user192048 2010-08-11 00:40:06