随笔分类 -  WCF

摘要:在使用WCF服务时,通常都是用svcutil生成代理类和配置,用生成的默认配置就可以调用服务。先来看看生成的默认的配置内容:View Code <client><endpointaddress="http://localhost:8732/ConfigNameService/Service1/"binding="wsHttpBinding"bindingConfiguration="WSHttpBinding_IService1"contract="IService1"name="WSH 阅读全文
posted @ 2012-02-04 11:11 神八 阅读(2708) 评论(1) 推荐(2) 编辑
摘要:昨天在用IIS部署一个WCF服务时,碰到了如下错误:理解了文档内容,但无法进行处理。 - WSDL 文档包含无法解析的链接。 - 下载“http://admin-pc/IISHostService/Service1.svc?xsd=xsd0”时出错。 - 基础连接已经关闭: 接收时发生错误。 - 无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接。。 - 远程主机强迫关闭了一个现有的连接。元数据包含无法解析的引用:“http://admin-pc/IISHostService/Service1.svc?wsdl”。元数据包含无法解析的引用:“http://admin-pc/IISHo 阅读全文
posted @ 2012-01-06 09:32 神八 阅读(5503) 评论(2) 推荐(2) 编辑
摘要:任何程序都离不开对异常的处理,良好的异常处理方式可加快寻找出异常的根源,同时也需要避免暴露敏感信息到异常中。WCF这种典型的服务端和客户端交互的程序,服务端的异常更需要适当的处理。下面以一个简单的服务为例,说明WCF中处理异常的方式。WCF服务定义如下,很明显方法Divide在divisor为0的时候将会抛出异常View Code publicclassCalculateService:ICalculateService{publicintDivide(intdividend,intdivisor){returndividend/divisor;}publicintAdd(inta,intb. 阅读全文
posted @ 2011-12-31 21:41 神八 阅读(8584) 评论(1) 推荐(3) 编辑
摘要:上接方法一实现的第二种方法是利用企业库提供的针对WCF程序的validation block,如果之前有用过企业库的validation模块,那么在WCF中用起来就非常简单,在WCF中要做的大部分都是配置工作。步骤一,引用相关的dllMicrosoft.Practices.EnterpriseLibrary.Common.dllMicrosoft.Practices.EnterpriseLibrary.Validation.dllMicrosoft.Practices.EnterpriseLibrary.Validation.Integration.WCF.dll步骤二,在指定的接口中设置一个 阅读全文
posted @ 2011-12-29 22:30 神八 阅读(1176) 评论(0) 推荐(0) 编辑
摘要:WCF中支持自定义behavior,可通过配置的方式给endpoint或者service设置behavior。配置方法就是在system.serviceModel/extensions/behaviorExtensions节点下注册自定义的behavior,之后就可以在behaviors节点中使用。注册的配置如下注册自定义Behavior 1<extensions>2<behaviorExtensions>3<addname="validation"4type="Microsoft.Practices.EnterpriseLibrar 阅读全文
posted @ 2011-12-29 18:38 神八 阅读(2919) 评论(4) 推荐(0) 编辑
摘要:WCF中对方法参数的校验实现方式 阅读全文
posted @ 2011-12-28 21:55 神八 阅读(2086) 评论(1) 推荐(0) 编辑
摘要:昨天在调试WCF服务时,碰到个异常,异常信息都让人看不懂。之前也没碰到过,折腾了一会才弄明白原因。 像往常一样创建一个WCF库,就是可直接调试的那种WCF服务。然后加入了一个服务,该服务还用到了复杂自定义类型作为DataContract,并像往常一样启动调试,居然蹦出了一个错误提示框,里面有一些错误信息,命名空间“TestNamespace.System”中不存在类型或命名空间名称“Runtime”(是缺少程序集引用吗?),如下图:其中TestNamespace.System命名空间下是复杂类型所在的命名空间。出现这样的错误,一时让人毫无头绪。为什么回去自定义类型中去寻找Runtime和... 阅读全文
posted @ 2011-12-20 09:48 神八 阅读(566) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示