• WCF 第一章 基础 更多关于配置文件的内容


    服务控制文件web.config 或是 app.config 依赖于服务是如何被寄宿的,它们必须包含一个<system.serviceModel>节点。在这个节点下,服务,绑定,行为,客户端,诊 断,扩展,寄宿环境和COM+互操作都可以被特殊设置。最低限度必须有一个<services>节点用来包含终结点,也至少有一个非基础架构 的<endpoint>节点在<services>节点下面。在<endpoint>节点内,ABCs会被定义在每 一个终结点上。

      地址属性定义客户端将要把消息发送到终结点的URI。例如,如果一个服务使用基于HTTP协议的绑定basicHttpBinding,URI将类似于 http://www.myserver.com:8080/MyService/ .如果一个地址是相对地址(非空而且不仅仅是一个路径),这个地址将重载宿主的基地址当创建服务时。当服务被宿主启动时,WCF启动监听,在这个地址上监 听新到请求。在IIS 寄宿的情况下,监听很可能早就启动了,所以WCF注册到这个监听器上以便于当那个URI的请求到来时可以重定向到WCF服务。

      绑定属性定义了需要连接到服务的通信细节。定义了整个信道栈,最少要包括网络适配器信道。也包括加密,压缩和其他信道。很多WCF系统自带的绑定,如 BasicHttpBinding,与ASMX兼容; WSHttpBinding,实现了很多更高级的要求消息级别的安全,事务处理和其他高级特性的网络服务; NetTcpBinding,实现了与.NET Remoting和DCOM类似的快速安全通信格式。

      契约属性引用由服务终结点定义的类型。如果一个MEX终结点存在服务中,WCF会检查这个类型而且在MEX终结点以元数据形式暴露出来。WCF首先 从\bin 文件夹寻找类型信息,然后在本机的全局程序缓冲中寻找。如果找不到类型信息,当Add Service Reference 或者svcutil.exe 请求WSDL时服务将会向它们返回错误信息。如果MEX终结点不存在,服务将会运行很好,但是客户端不会检测到自己的ABCs.  

    更多服务寄宿的内容
      WCF可以使你在任何操作系统进程中寄宿服务。在大多数情况下,IIS是实现性能,可管理性和安全的最合适的寄宿环境。如果你已经在你的环境中运行 IIS,事实上你就已经有本地安全处理了。复杂的id通常定义明确的策略和安全程序,并已通过自动化工具的检查。小的组织经常使用建立在IIS和 Windows Server 2003的隐藏安全。在其他情况下,现有的安全行为将会应用到以IIS为寄宿的WCF服务上。

    但是也有一些理由去不适用IIS寄宿。你可能想使用HTTP协议。你可能想要启动和关闭事件时有明确的控制。或者你想提供一个自定义管理接口而不是使用 IIS工具。如果你不想使用IIS寄宿,没问题。WCF使自我寄宿非常易于使用和扩展。自我寄宿就是开发人员实例化服务寄宿来描述一个寄宿方法的过程,而 不是依赖于IIS或者Windows激活管理服务(Windows Process Activation, WAS).

      最简单的寄宿服务的方式就是写一个控制台应用程序,就想列表1.1显示的那样。这种方法在生产过程中不是非常有用,因为在服务器上使用控制台窗口不是好的 行为,但是作为开始来说,它去除了所有对IIS基础的依赖。主程序创建一个ServiceHost的实例,就像名字显示的,将会寄宿服务。程序调用 ServiceHost 的Open方法并且继续进行。在这个例子里,除了等谁按下回车键不用再做什么,直到应用程序调用ServiceHost 的Close 方法。

      在Open方法被调用以后,ServiceHost 在终结点指定的地址上监听请求。当消息到达时,ServiceHost做一系列事情。首先,根据绑定定义的信道栈,应用解密,解压缩和安全规则。然后,基 于契约,反序列化收到的消息为.NET类型,创建一个对象,最后反射调用对象上合适的方法。


    ===========

    转载自

    作者:DanielWise
    出处:http://www.cnblogs.com/danielWise/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
     

  • 相关阅读:
    LeetCode Binary Tree Inorder Traversal
    LeetCode Populating Next Right Pointers in Each Node
    LeetCode Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode Reverse Linked List II
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Pascal's Triangle
    Palindrome Construct Binary Tree from Preorder and Inorder Traversal
    Pascal's Triangle II
    LeetCode Word Ladder
    LeetCode Binary Tree Zigzag Level Order Traversal
  • 原文地址:https://www.cnblogs.com/llbofchina/p/2089218.html
Copyright © 2020-2023  润新知