簡體   English   中英

通過Windows服務運行時,我的WCF服務拋出錯誤

[英]My WCF service is throwing Error when running through a windows service

我創建了一個WCF服務,在其中我正在讀取msn是否使用C#編碼通過HttpWebRequest和HttpWebResponse進行提要和新提要。 當我在本地PC上執行該服務時,它不僅可以正常工作,而且可以正確獲取Feed,不僅在我所有系統的網絡中也是如此。 我正在使用CredentialCache.DefaultNetworkCredentials分配給HttpWebRequest代理憑據作為默認網絡憑據,還為HttpWebRequest.DefaultWebProxy代理提供HttpWebRequest.DefaultWebProxy。 我的電腦一切正常。 當我在服務器PC中將服務安裝到Windows服務並啟動該服務時,每次它拋出如下所示的意外錯誤

System.Net.WebException: The remote server returned an error: (403) Forbidden.
   at System.Net.HttpWebRequest.GetResponse()

我無法在服務器應用程序中修復此錯誤。 通過將我在服務中請求的uri復制到瀏覽器中,即可在服務器PC中獲取提要。 但是,為什么通過Windows服務(services.msc)運行時會引發異常? 希望任何人都能幫助我解決這個問題。

編輯:

實際上,在嘗試通過為代理憑據提供代理用戶名和密碼以及通過配置條目指定代理地址之前,當時還可以。 但是我們的計划是消除每次提供代理IP地址,用戶名和密碼的負擔。 因此,我們計划通過保存在系統中的默認網絡憑據來提供它,以上述步驟繞過代理。

您的公司中是否設置了需要身份驗證的代理服務器?

嘗試使用您的身份而不是內置身份(網絡服務,本地系統)運行服務,然后查看是否有幫助。

編輯:

我想這可能取決於代理的配置方式,但是要使用默認代理設置,您可能需要服務在具有正確設置這些屬性的域帳戶下運行。 當然,作為一種好的做法,請使用專用的服務帳戶而不是您自己的帳戶。

另外,您可能想看看如何在配置文件中配置代理,而不是對其進行硬編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM