WCF HOST多个服务遇到的问题

来源:互联网 发布:域名备案成功 编辑:程序博客网 时间:2024/05/01 08:16

昨天有时间上网找了下多服务寄宿在一个HOST的问题,看到了蒋金楠老师的一篇文章,于是下载源代码来分析一下实现过程,VS2010顺利通过程序也执行了,但是访问发布的地址打开为HTTP400错误,我看到留言中有说到这个的问题,后来修改了一下配置,可以访问发布的地址,但是让我比较难理解的是<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange",如果我配置上IMetadataExchange 程序在运行的时候就出错了,这个是标准的WCF的元数据发布接口啊,为何不行呢,这个问题如何有知道的请告诉一下,因为我另外建其它的WCF应用程序添加上是没有问题的。下面我把原来的配置列出来

<service name="Artech.BatchingHosting.BarService">
        <endpoint address="http://127.0.0.1:3721/barservice"
                  binding="ws2007HttpBinding"
                  contract="Artech.BatchingHosting.IBar"/>

        <endpoint address="http://127.0.0.1:3721/barservice"
                  binding="ws2007HttpBinding"

                  contract="Artech.BatchingHosting.IBar"/>


<artech.batchingHosting>
    <add type="Artech.BatchingHosting.FooService, Artech.BatchingHosting"/>
    <add type="Artech.BatchingHosting.BarService, Artech.BatchingHosting"/>
    <add type="Artech.BatchingHosting.BazService, Artech.BatchingHosting"/>
  </artech.batchingHosting>

程序报错的信息是实现的协定列表中找不到协定名称 \"IMetadataExchange\"。将 ServiceMetadataBehavior 添加到配置文件或直接添加到 ServiceHost,以启用对该协定的支持

等了两天,蒋金楠老师回复了,答案是WCF元数据发布有两种方式,而我用的是第二种所以不好用,改成第一种就OK了


0 0
原创粉丝点击