随笔分类 -  WCF

摘要:如果您遇到如题所示异常提示,恭喜您找对地方了!出现这种问题一般是由WCF的安全机制导致的,这种情况一般只会出现在NetTcpBinding的情况下,你会发现将WCF服务与本机置于同一台机上,无论客户端采用哪种方式(iis,VS自带的WEB服务器、ConsoleApplication、WinForm),都不会有问题,但是当把WCF服务部署在局域网内某台机器上,然后通过客户端去访问就有问题了,而出问题的情况让人很莫明其妙(IIS访问时出现如题的异常,而VS自带的WEB服务器、ConsoleApplication、WinForm都不会出现异常)。针对这种情况,解决方法如下:注:以下的解决办法为禁用W 阅读全文
posted @ 2011-07-14 17:38 [曾恩] 阅读(11507) 评论(4) 推荐(2)
摘要:如果遇到如题所示的问题,检查并修改如下几个地方:1. 客户端与服务端地址是否一致;如果服务器使用net.tcp://127.0.0.1:8888,而客户端使用net.tcp://192.168.1.13:8888(假如我们的WCF服务端部署在192.168.1.13上),这样是不行的,服务器端的地址也必须使用net.tcp://192.168.1.13:8888。2. 服务端是否开启了防火墙,从而导致端口无法被客户端机器访问,这时你可以使用telnet命令(telnet ip port)看看是否能打开指定IP的指定端口,如果不行,那最直接的办法就是先关闭防火墙,如果你即要打开防火墙,还要让端口 阅读全文
posted @ 2011-07-14 14:40 [曾恩] 阅读(19803) 评论(2) 推荐(0)
摘要:使用WCF传输大数据时,我们都会碰到如题中出现的错误信息,出现这个问题是因为WCF本身的安全机制导致的,限制了客户端与服务器资源传输大小,那我们如何还解决这个问题呢?针对这个问题,我们要分发送、接受两个方面来解决。发送大数据:在WCF服务端解决 NetTcpBinding binding = new NetTcpBinding(); binding.MaxReceivedMessageSize= 2147483647(更改这个数字) ;接受大数据:在WCF客户端解决 NetTcpBinding binding = new NetTcpBinding(); binding.ReaderQuota 阅读全文
posted @ 2011-07-11 13:25 [曾恩] 阅读(6197) 评论(1) 推荐(0)
摘要:使用.NET做分布式,我们首先会想到WebService、Remoting、WCF,这里我以WCF为例,简单讲解下如何使用代理来访问WCF服务(不添加web引用、不使用管道模式【因为管道模式依赖于WCF的契约】)。1.生成代理类1)打开VS命令行工具,使用命令:svcutil 契约的dll完整路径2)它会在dll所在目录下生成几个文件,其中包含一个wsdl文件和一个xsd文件 3)使用命令:svcutil *.wsdl *.xsd4)这时会在dll所在目录生成一个.cs文件,这个就是我们需要的代理类了5)现在客户端调用WCF服务我们就可以使用这个代理类来完成了,具体如下:IService se 阅读全文
posted @ 2011-07-01 10:09 [曾恩] 阅读(2948) 评论(0) 推荐(1)