zoukankan      html  css  js  c++  java
  • 如何使用svconfigeditor.exe编辑WCF Service配置文件配置一个基本的Endpoint(一)

    1.svcconfigeditor简介

    WCF Service的难点之一就是其千变万化的配置。如果直接手工书写,很容易出错而且效率低下。Microsoft .Net SDK中专门有一个可视化编辑工具名为svcconfigeditor.exe,该文件一般位于c:\program files\Microsoft SDKS\windows\v6.0A\Bin下面. svcconfigeditor.exe是一个强大的用来配置WCF service服务器端和客户器端配置文件的可视化工具

    2.svcconfigeditor使用指南

    当我们开发了一个WCF service并要将其deploy或者debug的时候,这时候我们就需要为其address,binding,contract,behavio等等涉及安全、认证、授权等做一些设定。这时就是svcconfigeditor.exe大显身手的时候了。

    首先在需要配置WCF Service config的工程中,点击Add->New Item ->App.config。 选择app.config,点击右键选择open with,然后选择svcconfigeditor.exe来对该文件进行编辑

    图1:svcconfigeditor启动画面

    然后点击create a new service,弹出创建service向导,然后选择实现经过compile的assembly,该工具会自动检测到该assembly中定义的service type 和 service contract,点击next, 弹出binding选项对话框,如下所示:

    图2:预绑定协议选择

     

    by default为http,我们可以根据自己WCF service运行环境的需要选择合适的binding协议,点击next

    弹出interoperability option对话框。如果要实现较为复杂的如安全,可信赖会话,异步通讯等,请选择Advanced选项,否则选择basic选项,点击next

    弹出endpoint address选项框。一般来说,此处只需要填写一个relative address即可,完整地endpoint address = base address + endpoint relative address.因此后面还需要编辑若干个base address。 并且对于某一个endpoint relative address 来说,到底选择哪一个base address,与该endpoint所选择的binding protocal有关,其会自动进行匹配。

         比如我们有2个base address, 分别为:http://localhost:8080/service 和 net.tcp://localhost:8081/service, 假设某个WCf service,我们为其定义了2个Endpoint 配置如下:

    <endpoint Address="Myservice" binding="netTcpBinding" contract="WCF.IMyService"/>

    <endpoint Address="MyService" binding="wsHttpBinding" contract="WCF.IMyService"/>

    则对于第一个endpoint,其会自动匹配net.tcp://localhost:8081/service这个base address, 而对于第一个endpoint,其会匹配http://localhost:8080/service  这个base address

    还有一点需要说明的是:如果我们发布了通过http发布了service的metadata的话,在没有指定metadata http address的情况下, base address of http scheme 即为metadata发布地址by default.

    经过以上步骤,我们就为一个WCF service配置好了一个基本的endpoint(主要是ABC),如下所示

  • 相关阅读:
    Mac Pro 日历增强工具 Itsycal
    Linux/CentOS 搭建 SVN 项目
    常用“开发软件包“下载地址
    修复 ThinkPHP3.2.3 抛出异常模块的一个BUG,关闭字段缓存功能
    升级到 PHP-7 遇到的坑 及 经验分享
    Mac Pro 实现 PHP-5.6 与 PHP-7.0 等多版本切换
    如何 实现PHP多版本的 共存 和 切换?
    记 Mac Pro 系统升级后,编译安装 PHP-5.6.28 / PHP-7.0 报错修复过程
    ASCII码表
    用C语言,如何判断主机是 大端还是小端(字节序)
  • 原文地址:https://www.cnblogs.com/Winston/p/1321871.html
Copyright © 2011-2022 走看看