WCF TCP协议绑定方式及错误问题整理

6 篇文章 0 订阅

1 绑定

配置服务

    为了更直接的说明如何配置,这里我们就不重新设计服务了,就用项目建立默认的IService1吧,那么我们接下来讲讲如何配置服务的。

    1.首先打开的你的一些功能服务,本人用的是WIN7,因此需要在控制面板->程序->打开或关闭Windows功能里找到如下选项

    

    选中后点击确定,完成后你会做服务里找到如下一些已启动的服务,如图

    

    2.完成如上配置后,那么下一步我们是修改解决方案里服务端依赖的IIS,由VS字段的IIS改为本机的IIS

   右键SLNettcpDemo.Server->属性->Web->User Local IIS Web Server 如图

    注意 记得点击按钮“Create Virtual Directory”他将在你本机的IIS默认网站下建立一个虚拟目录。

    如图所示网站


    添加虚拟目录后,接下来我们配置一下本机的IIS,让IIS支持net.tcp通信。

    打开IIS,找到本机IIS的默认站点,并选择编辑绑定,结果如图

    

完成上述步骤后,我们需要让您的虚拟目录对net.tcp协议支持,因此,这时选中刚才建立的虚拟目录,并编辑虚拟目录的高级设置,添加对net.tcp的支持。如下图

    

    那么在最后我们要在默认站点下放置如下文件clientaccesspolicy.xml,这是一个配置策略文件,告诉IIS如何处理net.tcp协议,切记这个文件命名必须如此,MS明确说的,不要重命名哦。如图

    

(此步骤我没用到)


2 错误处理

a "wcf错误提示服务器已拒绝客户端凭据":


关键词wcf 错误 提示 服务器  拒绝 客户端 凭据

一个wcf基于streaming的大文件传输的实例。主要基于microsoft官方例子。

配置很简单,如binding采用nettcpbinding,具体如下:

<nettcpbinding>
<binding transfermode="streamed" maxreceivedmessagesize="1590309133" opentimeout="15" sendtimeout="15" receivetimeout="15"></binding>
</nettcpbinding>

服务端和客户端在一个机器上没问题,程序调的通,一些顺利。

后,将服务端和客户端分别放到两台机器上,看看传输效果,结果,客户端报错:“服务器已拒绝客户端凭据”。

仔细想了想,原因如下:

1、例子程序中,没设置transfer security mode,则系统默认transfer security mode值为“transport”。

2、在transport模式下默认客户端认证类型为:“windows credentials”,即,clientcredentialtype为“windows”。

3、在这种情况下,在一个机器上客户端和服务端都在一个机器上,采用windows认证肯定没问题。

4、但是放到两个机器上,传过来的基于客户端window账户的客户端凭证在另一个机器上验证不过。除非在服务端机器上做客户端凭证的特别设置。

 因为只是测试,可以先把客户端验证关掉即可,在服务端和客户端binding配置分别添加:

 <security mode="none"></security>

b  "无法连接到 net.tcp://localhost/EasyEAPServiceHost/SystemBaseDataService.svc。连接尝试持续了 00:00:02.0481171 时间跨度。TCP 错误代码 10061: 由于目标计算机积极拒绝,无法连接。 127.0.0.1:808。 "

启动 Net.Tcp Listener Adapter服务


c "net.tcp://localhost/service/”不支持正在使用的 .Net 组帧模式。有关详细信息,请参见服务器日志。

更改tcp绑定的端口号,不要与http 绑定一样的端口


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值