0

我有一个引用 asp.net webservice 的 Windows 服务项目。当我通过 VS 在我的机器上本地运行此服务时,它工作正常,当我调用 web 方法时,我得到了我想要的结果。

今天我将它部署到了一个测试服务器,当我调用 web 方法时它失败了,因为它试图连接到本地主机 web 服务,而不是服务器上的那个。我得到的错误是“无法连接到远程服务器-> System.Net.Sockets.SocketException:无法建立连接,因为目标机器主动拒绝它:127.0.0.1”

我的服务有一个 app.config 文件,并且网络服务设置正确指向网络服务 url。我知道 url 是正确的,因为当我将它放入 IE 时,它会解析为 web 服务。Web服务的属性也是正确的。

任何有关该服务如何获取 localhost 的建议将不胜感激。

4

3 回答 3

0

可能是 Windows 安全问题。您是否将流程/网络方法称为提升?另外,Windows 防火墙服务是否正在运行?如果是这样,IP/端口/应用程序是否有例外?RPC 正在运行吗?检查凭据和上面列出的那些。

于 2013-01-09T17:05:18.867 回答
0

我建议您使用标准 WCF 配置存储您的代理地址。这是一个例子。

  <system.serviceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="WSHttpBinding_IService1" />
            </wsHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://yourServerIP:51717/Service1.svc" binding="wsHttpBinding"
                bindingConfiguration="WSHttpBinding_IService1" contract="ServiceReference1.IService1"
                name="WSHttpBinding_IService1">
            </endpoint>
        </client>
    </system.serviceModel>
于 2013-01-09T17:26:39.907 回答
0

今天在工作中使用以下代码行解决了这个问题。

webservice ws = new webservice()   
ws.Url = (new xxxx.Properties.Settings()).WS;
ws.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

感谢您的所有帮助,干杯 APW

于 2013-01-10T18:32:34.973 回答