WCF如何配置子节点

发布时间:2021-12-07 10:59:03 作者:小新
来源:亿速云 阅读:156

这篇文章给大家分享的是有关WCF如何配置子节点的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

WCF配置子节点Services: 文件内已经有一个名为CatalogService的服务,实现服务的类名一致。在Service节点下,你可以看到Endpoint,它包含了服务的 ABCs:Address(地址), binding (绑定)和contract (协定).
◆Address: 你会发现地址是空的 ,不必担心,因为svc文件会作为基
◆Binding: webHttpBinding是WCF3.5提供的可以让服务以REST方式发布的新型绑定。这个绑定有两种模式,你可以通过特定的终结点行为来指定模式(通过设定behaviorConfiguration)
◆Contract: contract指定了WCF服务提供的功能。该属性被设为一个已经定义好的服务协定。要定义一个服务协定,你可以用ServiceContract修饰一个接口或者类。被ServiceContract修饰的接口或者类中,所有由OperationContract修饰的方法将被作为服务的操作暴露给客户。一般来说用接口做服务协定是更好的做法,这样做的好处是分离了协定与具体实现。但在我们使用的模板中却使用了类的方法,也就是说,接口是从类自动推断出来的(接口推断)。
◆BehaviorConfiguration: 对于webHttpBinding, 你需要将该属性设为一个拥有webHttp或enableWebScript子节点的终结点行为。

F配置子节点Behaviors: 将behaviors加入到服务或者服务终结点的目的在于改变runtime的默认行为或者加入定制的扩展。你会发现我们使用的模板已经声明了一个名为 CatalogServiceAspNetAjaxBehavior的终结点行为. 该行为有一个enableWebScript 元素。enableWebScript是两种可能的终结点行为之一,另一种就是webHttp。事实上enableWebScript是webHttp用来提供AJAX 功能(比如生成客户端代理)的子类

WCF配置子节点ServiceHostingEnvironment: 跟ASP.Net运行的WCF服务的默认配置是让两者互不干扰 例如,ASP.NET runtime 不参与WCF请求的处理. WCF服务也不能使用ASP.NET context 和 session 这样的功能. 而我们这里的配置是将aspNetCompatibilityEnabled 设为true, 在这种设置下WCF请求就会加到ASP.Net 的请求流水线里了。
*要使WCF支持REST,只要在该配置文件中注意最重要的两点:1)binding应设为webHttpBinding 2) endpoint behavior要设定为webHttp或enableWebScript

CatalogService.cs  [ServiceContract(Namespace = "")]  [AspNetCompatibilityRequirements(RequirementsMode =  AspNetCompatibilityRequirementsMode.Allowed)]  public class CatalogService  {  // Add [WebGet] attribute to use HTTP GET  [OperationContract]  public void DoWork()  {  // Add your operation implementation here  return;  }  // Add more operations here and mark them with [OperationContract]  }

在这里我们就真得做点儿事儿了。如果已经读了上面的内容,你应该已经注意到我们已经用接口推断的方法定义了的服务协定,就是说用ServiceContract属性修饰了一个类而不是一个接口。无论如何,我们要开始做一点儿实现了。***件事儿是设定ServiceContract属性的NameSpace参数。这一点非常重要。客户端用于调用WCF服务的代理的名字空间就是从这里拿的。

感谢各位的阅读!关于“WCF如何配置子节点”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. 获取子节点 , 子节点数量,遍历子节点
  2. WCF入门(一) WCF的基础知识

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

wcf

上一篇:游戏机电池供电的SRAM解决方案是什么

下一篇:Hyperledger fabric Chaincode开发的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》