背景/系統信息從一個Web服務,我需要使用Windows身份驗證和asp.net模擬
- 的Windows Server 2008 x64標準調用同一個網站中的另一個Web服務,IIS 7.0
- 我有一個IIS站點包含單獨的IIS應用程序。
- 每個應用程序都包含使用任何CPU編譯的.NET 4.0編寫的Web服務。
- 所有應用程序共享相同的應用程序池。應用程序池設置爲.NET 4.0和集成管道。
- 該網站設置爲ASP.NET模擬和Windows身份驗證。
- 該網站只在我們的域名/內部網中使用。
- 客戶端應用程序(未在Server 2008框但在域內運行的C#應用程序)使用生成的代理類使用System.Net.CredentialCache.DefaultCredentials方法傳遞憑據。
目標
- 我們有需要調用存在於同一站點的Web服務方法,只是網站的另一個下IIS應用程序的一些Web服務方法。
問題
- 當第一web服務的方法調用的第二web服務的方法(通過生成的代理類),傳遞的DefaultCredentials或DefaultNetworkCredentials,得到了一個未經授權的401錯誤。
這是我所知道的,什麼我都試過
我幾乎所有的文章回顧了所以和大家介紹一款雙跳會談。我對雙跳的術語感到困惑。我不是跳到一臺新機器上,而是在同一個網站上的當前機器上。這不是雙跳嗎?
我們在Windows Server 2003的IIS 6中運行與.NET 1.1相同的Web服務,並將DefaultCredentials傳遞給第二個Web服務調用!沒有401錯誤。 IIS 6上的Web服務設置都使用相同的應用程序池,並且都作爲應用程序進行設置。
在我的Windows 7開發機器運行IIS 7.5我能夠使這項工作。我可以使用System.Net.CredentialCache.DefaultNetworkCredentials或System.Net.CredentialCache.DefaultCredentials從另一個Web服務使用代理類調用Web服務。看來我的win7 IIS 7.5站點和我的服務器2008站點都以相同的方式設置。
我嘗試使用不同的應用程序池(集成管道)爲我的網站中的每個應用程序,並沒有幫助(我不認爲它會)。
當我將應用程序池設置爲經典時,網站將無法啓動。我收到服務不可用的錯誤。這很奇怪,因爲在我的win7機器上,我可以使用經典或集成管道,並且工作正常。
我覺得我很接近。任何想法或意見將不勝感激!
感謝,