我有一个在 WCF 测试客户端上成功运行的 WCF ServiceLibrary。
现在我正在尝试建立一个网站来托管这个网络服务。我正在使用 nettcp 绑定。我的 web.config 文件看起来像这样
<system.web>
<compilation debug="false" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="tcp_Unsecured" portSharingEnabled="true">
<security mode="None"/>
</binding>
</netTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="tcpServiceBehavior" name="MarketFeedServiceLibrary.Service1">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="tcp_Unsecured"
name="data" contract="MarketFeedServiceLibrary.IService1" />
<endpoint address="mextcp" binding="mexTcpBinding" name="metadata"
contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:8080/MarketFeedSite/MarketFeedService.svc" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="tcpServiceBehavior">
<serviceMetadata httpGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
我尝试直接从解决方案资源管理器在浏览器中查看
但我得到如下所示的错误
找不到与具有绑定 NetTcpBinding 的端点的方案 net.tcp 匹配的基地址。注册的基地址方案是 [http]。
我已经尝试了 SO、youtube 等提供的所有解决方案,但没有运气,
我试过了:
- 在 IIS 下我启用了http,net.tcp协议
- 我也经历过:如何:安装和配置 WCF 激活组件
注意我是 WPF 应用程序开发人员,因此 WCF 和 ASP.NET 网站对我来说是新的。
谢谢你。
编辑:在 WCF 客户端下测试会出现以下错误
无法从 net.tcp://localhost:8080/MarketFeedSite/MarketFeedService.svc 获取元数据如果这是您有权访问的 Windows (R) Communication Foundation 服务,请检查您是否已在指定地址启用元数据发布。WS 元数据交换错误 URI:net.tcp://localhost:8080/MarketFeedSite/MarketFeedService.svc 元数据包含无法解析的引用:“net.tcp://localhost:8080/MarketFeedSite/MarketFeedService.svc”。无法连接到 net.tcp://localhost:8080/MarketFeedSite/MarketFeedService.svc。连接尝试持续了 00:00:01.9968000 的时间跨度。TCP错误代码10061:无法建立连接,因为目标机器主动拒绝它127.0.0.1:8080。无法建立连接,因为目标机器主动拒绝它 127.0.0.1:8080