|ZYCWCF| 为什么我配置WCF为NETTCP后,连接不上呢?谢谢

javamy022 2012-11-03 06:31:54
http://www.cnblogs.com/nikymaco/archive/2012/10/08/2715954.html
我试了很多个配置NETTCP方法的贴子,大概都和上面的一样
我自己做的示例但到是已经发布到了IIS 4502端口
我用netstat 也发现在4502给WCF程序SMSsvHost占用了

但是我在VS中引用如:net.tcp://localhost:4502/WCFTCPTEST/Service1.svc
就是找不到这个服务

谢谢
...全文
2880 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jshi123 2012-11-05
  • 打赏
  • 举报
回复
看了你的项目属性,你设置的是IIS Express。IIS Express服务器只支持http/https,不支持net.tcp,要改成用local server。
在项目名称上点右键选属性,打开属性页,选"Web":

去掉勾选"Use IIS Express",然后点"Create Virtual Directory"在IIS里建个虚拟目录(如果还没有在IIS里建过的话)。

要确保你的虚拟目录应用程序启用了net.tcp协议。
打开IIS管理器,找到WCFNetTcp这个虚拟目录,点右边高级设置:

已启用的协议中要包含net.tcp

然后你的web.config中的服务的baseAddress要做相应修改,原先的地址是不对的。
services节的配置如下:

<services>
<service name="WCFNetTcp.Service1">
<endpoint address="" binding="netTcpBinding" contract="WCFNetTcp.IService1" />
<endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:4502/WCFNetTcp/" />
</baseAddresses>
</host>
</service>
</services>

上面的端口用的是4502,要确保net.tcp协议在该端口上侦听。
在IIS管理器中检查缺省站点绑定设置:

最后重新编译后就可以在client项目中添加服务引用了。
地址是: net.tcp://localhost:4502/WCFNetTcp/Service1.svc
javamy022 2012-11-04
  • 打赏
  • 举报
回复
http://pan.baidu.com/share/link?shareid=110359&uk=3224032458 这里我自己搞了一个和我差不多一样的小例子 麻烦大家看一下哪里出问题了 我要实现的是在IIS上可以实现NETTCP功能 谢谢
javamy022 2012-11-04
  • 打赏
  • 举报
回复
晚上回家我再详细列出 谢谢各位
jshi123 2012-11-04
  • 打赏
  • 举报
回复
在浏览器输入http://localhost/WCFTCPTEST/Service1.svc可以看到这个服务信息页面吗? 把web.config文件贴上来看下吧
机器人 2012-11-03
  • 打赏
  • 举报
回复
windows 组件中需要启动非Http端口监听

12,166

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧