0
我有一個WinForms應用程序,它調用IIS7上託管的WCF服務。出於某種原因,連接到客戶端網絡的計算機在嘗試通過WinForms應用連接到WCF服務時會收到401 Unauthorized錯誤。我花了不少時間試圖弄清楚這一點,這是我迄今發現的。WCF錯誤401僅在某些電腦上未經授權
- WinForms應用程序在不在客戶端網絡上的任何其他PC上接收WCF服務數據。
- 從客戶端網絡,我可以通過Web瀏覽器瀏覽WCF服務。
- 從客戶端網絡,我可以瀏覽到一個服務方法,並得到「方法不允許」 錯誤按預期。
此外,應該指出,WCF服務使用REST而不是SOAP。
這裏是我使用的代碼來完成所有的服務電話:
byte[] dataStream = Encoding.UTF8.GetBytes(strParameters);
WebRequest webRequest = WebRequest.Create(strUrl + strFunction);
webRequest.Method = "POST";
webRequest.ContentType = "application/json";
webRequest.ContentLength = dataStream.Length;
Stream newStream = webRequest.GetRequestStream();
newStream.Write(dataStream, 0, dataStream.Length);
newStream.Close();
WebResponse response = webRequest.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader responseReader = new System.IO.StreamReader(responseStream, Encoding.UTF8);
string responseString = responseReader.ReadToEnd();
沒有人有任何線索,爲什麼我只會在客戶端的網絡上得到401錯誤?
我有匿名用分配給它的用戶帳戶開啓,但它沒有解決問題。但是提琴手是一個很棒的主意,我從來沒有用過它,所以我會試驗它,看看我能否得到一些成功的請求。 – 2013-03-18 20:35:29
原來客戶端的防火牆阻止了請求。謝謝。 – 2013-03-18 21:52:24