c#n层解决方案Web服务客户端到服务层的异常行为

时间:2019-09-24 21:17:23

标签: c# exception endpoint webservice-client n-tier-architecture

我正在用C#创建我的第一个n层解决方案。 我已经创建了自己的层,包括仅用于练习的服务层(不必要)

我正在使用Visual Studio 2017,对于后端数据库,我使用SQL Express版本14。

所以我在主应用程序中创建了一个Web服务客户端,引用了服务层的Web服务。

一切正常,直到我重新启动VS或只是重新加载应用程序。 然后,我必须在主应用程序上“更新服务参考”才能使其正常运行。 否则,我有一个例外:

  

System.ServiceModel.EndpointNotFoundException:'没有在http://localhost:52132/Srv.svc处监听的端点可以接受   信息。这通常是由不正确的地址或SOAP操作引起的。   有关更多详细信息,请参见InnerException(如果存在)。

     

内部异常1: WebException:无法连接到远程   服务器

     

内部异常2: SocketException:无法建立连接   因为目标机器主动拒绝了127.0.0.1:52132

每次都可以毫不犹豫地进行更新(服务参考地址位于http://localhost:52132/Srv.svc),然后一切正常。

以太调试或发布模式下的清洁/重建根本没有结果。

我注意到的另一件事是,在运行时该操作已经执行了一次或两次。 突然出现相同的异常,恢复连接的相同步骤。

从未对网络服务进行任何更改。

我的app.config设置:

<client>
  <endpoint address="http://localhost:52132/Srv.svc"
            binding="basicHttpBinding"
            bindingConfiguration="BasicHttpBinding_ISrv"
            contract="DataService.ISrv"
            name="BasicHttpBinding_ISrv" />
</client>

谢谢。

1 个答案:

答案 0 :(得分:0)

似乎没人能回答... 我已经花了几个小时搜寻。没运气。 但是,将服务发布到IIS可以解决问题。 开发时,这有点令人沮丧,因为每次对服务进行更改时,都必须再次发布服务以保持不间断的功能。