我的WCF服务在运行Windows服务时抛出错误

时间:2012-01-17 07:27:23

标签: c# wcf proxy-authentication

我创建了一个WCF服务,我正在使用C#编码通过HttpWebRequest和HttpWebResponse读取msn是否有feed和new feed。当我在我的本地PC上执行服务时,它工作正常并且正确地获取馈送,不仅在我的系统中也在我们所有的网络系统中。我使用CredentialCache.DefaultNetworkCredentials分配作为HttpWebRequest代理凭据的默认网络凭据,并为HttpWebRequest的代理提供HttpWebRequest.DefaultWebProxy。我的电脑一切正常。当我将服务器中的服务安装到Windows服务并启动服务时,每次都会抛出一个意外错误,如下所示

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

我无法在服务器应用程序中修复此错误。通过将我在服务中请求的uri复制到浏览器,它将获取服务器中的源。但是为什么它在运行Windows服务(services.msc)时抛出异常?希望任何人都能帮我解决这个问题。

编辑:

实际上,在我尝试为代理凭据提供代理用户名和密码以及通过配置条目指定代理地址之前,当时它工作正常。但我们的计划是消除每次提供代理IP地址,用户名和密码的负担。因此,我们计划通过系统中保存的默认网络凭据提供它,以便通过上述步骤绕过代理。

1 个答案:

答案 0 :(得分:0)

您的公司是否设置了需要身份验证的代理服务器?

尝试使用您的身份而不是内置服务(网络服务,本地系统)运行服务,看看是否有帮助。

编辑:

我想这可能取决于代理的配置方式,但是要使用默认代理设置,您可能需要在具有正确设置这些属性的域帐户下运行该服务。当然,作为一种好的做法,使用专用的服务帐户而不是您自己的帐户。

另外,您可能需要了解如何configure proxy in the config file而不是硬编码。