• 使用代理类访问WCF应用(不添加web引用、不使用管道模式)以及如何调试WCF


    使用.NET做分布式,我们首先会想到WebService、Remoting、WCF,这里我以WCF为例,简单讲解下如何使用代理来访问WCF服务(不添加web引用、不使用管道模式【因为管道模式依赖于WCF的契约】)。

    1.生成代理类

    1)打开VS命令行工具,使用命令:svcutil 契约的dll完整路径

    2)它会在dll所在目录下生成几个文件,其中包含一个wsdl文件和一个xsd文件

    3)使用命令:svcutil *.wsdl *.xsd

    4)这时会在dll所在目录生成一个.cs文件,这个就是我们需要的代理类了

    5)现在客户端调用WCF服务我们就可以使用这个代理类来完成了,具体如下:

    IService service = new ServiceClient(Binding, new EndpointAddress(Address));

    service.Execute();

    注:Execute方法为契约中定义的方法

    2.如何调试WCF

    1)解决方案上点右键-属性-启动项目-多启动项目,将你需要启动的项目设置为启动

    2)按F5开始进行调试,在调试到访问WCF时,按F11前进,这样就可以调试到WCF内部去了。

    3)有时我们在不调试时,需要在客户端看到WCF服务调用出错的信息,可以在宿主的配置文件中加入下面这段内容

    <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <serviceDebug includeExceptionDetailInFaults="true"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>

  • 相关阅读:
    Include Native *.so Library in APK With Android Studio
    listview
    随笔2
    const
    关于nginx配置gzip的相关说明
    关于gzip开启后压缩对比及相关性能
    webpack 打包性能优化
    关于pc端挂载移动端页面的问题
    vue-router 中的路径异步获取时导致的to报错问题
    关于cors及文件上传和下载在非开发环境导致的异常问题
  • 原文地址:https://www.cnblogs.com/zengen/p/2095264.html
Copyright © 2020-2023  润新知