Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的WCF服务在运行windows服务时引发错误_C#_Wcf_Proxy Authentication - Fatal编程技术网

C# 我的WCF服务在运行windows服务时引发错误

C# 我的WCF服务在运行windows服务时引发错误,c#,wcf,proxy-authentication,C#,Wcf,Proxy Authentication,我已经创建了一个WCF服务,在其中,我使用C#编码通过HttpWebRequest和HttpWebResponse阅读msn是否提要和新提要。当我在本地PC上执行服务时,它工作正常,并且能够正确地获取提要,不仅是在我的系统中,而且在我们的大多数网络系统中。我正在使用CredentialCache.DefaultNetworkCredentials将默认网络凭据分配给HttpWebRequest代理凭据,并为HttpWebRequest代理提供HttpWebRequest.DefaultWebPr

我已经创建了一个WCF服务,在其中,我使用C#编码通过HttpWebRequest和HttpWebResponse阅读msn是否提要和新提要。当我在本地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复制到浏览器,它可以在服务器pc中获取提要。但为什么在运行windows服务(services.msc)时会引发异常呢??希望任何人都能帮我解决这个问题

编辑:


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

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

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

编辑:

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


另外,您可能希望了解如何使用而不是硬编码。

@Damir Arh,谢谢您的回复。再次查看已编辑的帖子。感谢您的编辑。我正在努力,我会回答你允许与否。