日期:2014-05-17  浏览次数:20932 次

|ZYCWCF| 一个Net.TCP的WCF,经指点后在测试示例中可以实现,但到真正写我自己的WCF的时候又不行了,大家帮看看
我不行的示例代码下载:http://pan.baidu.com/share/link?shareid=110567&uk=3224032458
这个问题已经烦了我一个星期了,上周我做了个简单示例经指定后我在测试示例中已经可以
贴地址为:http://bbs.csdn.net/topics/390268410
然后我自己改这个测试示例也能实现Net.Tcp的绑定了
然后当我写我自己的WCF为Net.Tcp的时候又不行了
提示:协定需要会话,但是绑定“BasicHttpBinding”不支持它或者因配置不正确而无法支持它。 
然后我试用net.tcp连接,也连接不上,
我对比我的WCF的配置和测试的配置又没发现不一样的,放在相同的IIS上,测试示例是可以运行的
以下是我的Web.config

  <system.serviceModel>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->
          <serviceMetadata httpGetEnabled="true"/>
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="AVA.Meeting.IService.IMeetingService">
        <endpoint address="" binding="netTcpBinding" contract="AVA.Meeting.Server.MeetingService">
        </endpoint>
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:4502/AVA.Meeting.Server/MeetingService.svc" />
          </baseAddresses>
        </host>
      </service>
    </services>
  </system.serviceModel>

谢谢

------解决方案--------------------
没看懂,好乱.
------解决方案--------------------
得到什么错误?
------解决方案--------------------
service.name应该是服务类的名字,endpoint.contract应该是服务接口的名字。
在你的配置中把这两个写反了,应该这样:
    <services>
      <service name="AVA.Meeting.Server.MeetingService">
        <endpoint address="" binding="netTcpBinding" contract="AVA.Meeting.IService.IMeetingService">
        </endpoint>
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="net.tcp://localhost:4502/