WCF 4和NetTcpBinding

Shi*_*iji 1 c# wcf .net-4.0

我正在测试WCF 4的无配置功能.

我已经构建了一个简单的服务并将其部署到IIS.该服务部署为svc文件

客户端配置为空:

<configuration>
    <system.serviceModel>
        <bindings />
        <client />
    </system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)

Web服务器上的配置是:

<system.web>
   <compilation debug="true" targetFramework="4.0" />  
</system.web>   
<system.serviceModel>
   <behaviors>
      <serviceBehaviors>
         <behavior>
            <serviceMetadata httpGetEnabled="true"/>
            <serviceDebug includeExceptionDetailInFaults="false"/>
         </behavior>
      </serviceBehaviors>
   </behaviors>
   <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
</system.serviceModel> 
<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

这段代码工作正常:

BasicHttpBinding myBinding = new BasicHttpBinding();
EndpointAddress myEndpoint = new EndpointAddress("http://localhost/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
IService1 wcfClient1 = myChannelFactory.CreateChannel();
int z = wcfClient1.Multiply(composite);
Run Code Online (Sandbox Code Playgroud)

此代码不会:

NetTcpBinding myBinding = new NetTcpBinding();
EndpointAddress myEndpoint = new EndpointAddress("net.tcp://localhost:808/Service1.svc");
ChannelFactory<IService1> myChannelFactory = new ChannelFactory<IService1>(myBinding, myEndpoint);
IService1 wcfClient1 = myChannelFactory.CreateChannel();
int z = wcfClient1.Multiply(composite);
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

无法连接到net.tcp://localhost/Service1.svc.连接尝试持续时间跨度为00:00:02.1041204.TCP错误代码10061:无法建立连接,因为目标计算机主动拒绝它127.0.0.1:808.

net.tcp绑定在默认网站上设置.

我觉得有一些简单的东西让我失踪.有人有主意吗?

Cha*_*ion 6

我感觉你的Net.Tcp端口共享服务没有启用.