好人.. Heres这笔交易 - >

我在Console应用程序中消耗了一个Web服务,并在从我本地计算机运行时能够成功调用相同。

在我的win 2k8框上部署应用程序时啤酒厂。 我第一次想起来 - > 远程名称无法解决:'www.www.net' - >所以我添加了一个webproxy并将它挂钩到了网站的.proxy属性服务。

我已经遇到的下一个错误是 - > 用http状态407的请求失败:AuthenticationRequired 。而且我丧失了解同样的想法。

我已经使用了 - > .proxy.credentials= system.net.credentialCache.defaultCrendentials;并且还明确定义了代理信用 - >用户名,密码,域 - >但无用

在从服务器内通过浏览器访问时,Web服务工作正常。

任何帮助都会受到高度赞赏。

谢谢你的时间。

rgds,

有帮助吗?

解决方案 2

好的..继承它最终工作的东西 - >

与NOC(网络)的家伙联系 - 他们反过来转向显式的基于IP的访问权限,以向服务器请求/响应。

将导致安全漏洞 - 嗯,我不确定。

rgds,

其他提示

你是一个proxyserver吗?您的浏览器是否已配置代理服务器? 407表示“必需的代理身份验证”,因此您需要提供您可以在代理服务器上进行身份验证的凭据。我的第一次猜测是你需要这样的一丝。

  var credentials = new NetworkCredential("username", "password", "domain");
  WebProxy proxy = new WebProxy("YourProxyServerUri", true) { Credentials = credentials };
.

然后,您应该使用TE代理对象作为WebService的代理服务器。

您还可以使用已配置的代理服务器:

  WebProxy myProxy = (WebProxy) System.Net.HttpWebRequest.GetSystemWebProxy();
.

或者您甚至可以在web.config中设置它(但我认为在此处无法提供凭据:

 <system.net> 
      <defaultProxy useDefaultCredentials="true"> 
         <proxy usesystemdefault="False" proxyaddress="YourProxyServerUri"                
          bypassonlocal="True" /> 
      </defaultProxy> 
 </system.net>
.

如果所有工作正常,您可能希望提供某种方式来在运行时配置ProxyServer和凭据,从代码外部。否则,如果您的生产环境或位置发生变化,您总是必须重新编译东西。您可以在Web.config的Appsettings部分中将其放在数据库中,App.config等。

还可以确保您在设置中提供正确的端口号(例如192.168.1.100:8888)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top