成都网站建设设计

将想法与焦点和您一起共享

怎样解决相关WCFService事件

今天就跟大家聊聊有关怎样解决相关WCF Service事件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网站空间、营销软件、网站建设、梅列网站维护、网站推广。

昨天到今天搞了一整天的WCF Service,我都快崩溃了! ,以后再也不能随便的关机了,因为这次的不小心,几乎所有的Net安装,调试问题都被我碰到了,还好,我一个个把他记录下来了,同时,在相关论坛上找了一些相关的解决办法,分享一下,供大家相互学习交流。

我有一个寄宿在ASP.NET站点中的WCF Service,物理路径形如“/MyService/Service.svc”。现在,我希望将形如“http://localhost/beta/MyService/Service.svc”这样的URL重写到“~/MyService/Service.svc?ver=beta”。

第一步遇到的问题:

按照常理,应该在HttpApplication的PostAuthenticateRequest事件中做重写。可对于.svc的请求,根本就不会触发这个事件。于是只好改在BeginRequest事件中做重写。

第二步遇到的问题:

在BeginRequest中进行重写后,通过http://localhost/beta/MyService/Service.svc这样的路径虽然可以正确访问到我的Service,但通过IE浏览其helper页,得到的wsdl地址却是http://localhost/MyService/Service.svc?wsdl,这导致我的代码因为无法识别版本号而出错。

同样,在另外一个测试项目中添加服务引用,也会因为我的代码出错而无法添加引用,希望大家能给出在WCF中使用URL重写的方案。

前面的示例中没有使用消息合同规范。如果使用消息合同,就应定义一个表示消息的类,再给类应用MessageContractAttribute属性。接着给这个类的成员应用Message Body MemberAttribute、MessageHeaderAttribute或MessageHeaderArrayAttribute属性。所有这些属性都在System. ServieceModel名称空间中。如果要高度控制WCF服务使用的SOAP消息,就不要使用消息合同,所以这里不详细讨论它。

如果客户应用程序可以使用特定的异常类型,如定制异常,就可以给可能生成该异常的操作应用System.ServieceModel.FaultContractAttribute属性。在最初使用WCF时不希望这么做。

看完上述内容,你们对怎样解决相关WCF Service事件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


网页名称:怎样解决相关WCFService事件
本文链接:http://chengdu.cdxwcx.cn/article/jpogid.html