WCF架构

Sublime ww9992019com 发表于 1 周前

www.hj888222.com开户请拨15894452155四川宜宾地震湛江赤坎区DSaM6m<div style="width:100%;float:left;" class="article-content">

                <input type="hidden" name="article_id" id="article_id" value="5775">
                <input type="hidden" name="catid" id="catid" value="0">

                <p>

WCF是一个分层架构,为开发各种分布式应用的充分支持。该体系结构在下面将详细说明。</p>

<center>

<img alt="WCF Architecture" src="/uploads/allimg/141109/2215515018-0.jpg"></center>

<h2>

约定</h2>

<p>

约定层旁边就是应用层,并含有类似于现实世界的约定,指定服务和什么样的信息可以访问它会使操作的信息。约定基本都是在简短的讨论如下四种类型。</p>

<ul>

<li>

    <p>

        <strong>Service contract</strong> - 约定规定,在沟通过程中使用的信息给客户端,以及对终端的产品和协议的外部世界。</p>

</li>

<li>

    <p>

        <strong>Data contract</strong> - 由服务交换的数据是由一个数据契约定义。客户端和服务需要在与数据合同协议。</p>

</li>

<li>

    <p>

        <strong>Message Contract</strong> - 数据合同由约定信息控制。它主要是SOAP消息的参数类型格式的定制。在此,应该提到的是WCF采用SOAP格式进行通信。 SOAP代表简单对象访问协议。</p>

</li>

<li>

    <p>

        <strong>Policy and Binding</strong> - 由策略和有约束力的约定被定义为一个服务,这样的条件下通信的某些先决条件。客户端需要遵循这一约定。</p>

</li>

</ul>

<h2>

服务运行时</h2>

<p>

服务运行时层仅仅是约定层之下。它指定在运行时出现的各种服务行为。有许多类型的行为,可以进行配置,如下的服务运行。</p>

<ul>

<li>

    <p>

        <strong>Throttling Behavior </strong>- 管理处理的消息的数量</p>

</li>

<li>

    <p>

        <strong>Error Behavior </strong>– 定义任何内部服务错误发生的结果</p>

</li>

<li>

    <p>

        <strong>Metadata Behavior</strong> – 指定的元数据的可用性到外界</p>

</li>

<li>

    <p>

        <strong>Instance Behavior </strong>– 定义要创建需要的实例的数量,以使它们可用于在客户端</p>

</li>

<li>

    <p>

        <strong>Transaction Behavior</strong> – 能够在事务状态的变化的情况下出现任何故障</p>

</li>

<li>

    <p>

        <strong>Dispatch Behavior</strong> - 控制由该消息得到了WCF的基础处理方式</p>

</li>

<li>

    <p>

        <strong>Concurrency Behavior</strong> - 控制的客户端 - 服务器通信过程中并行运行功能</p>

</li>

<li>

    <p>

        <strong>Parameter Filtering</strong> - 功能参数的方法验证的过程,在它被调用之前</p>

</li>

</ul>

<h2>

消息</h2>

<p>

这层几个通道构成主要涉及两个端点之间传送的消息的内容。一组通道的形成通道堆栈和构成的通道堆栈的下面那些渠道的两种主要类型。</p>

<ul cass="list">

<li>

    <p>

        <strong>Transport Channels</strong> - 这些通道都存在于栈底和负责发送和接收使用像HTTP,TCP,P2P,命名管道和MSMQ传输协议的消息。</p>

</li>

<li>

    <p>

        <strong>Protocol Channels</strong> - 存在于堆栈的顶部,这些信道也被称为层状通道通过修改消息实现线级协议。</p>

</li>

</ul>

<h2>

激活和托管</h2>

<p>

WCF的体系结构的最后一层是其中服务实际上是托管,或者可以以方便客户端被执行的地方。这是通过在下面简要讨论的各种机制进行。</p>

<ul>

<li>

    <p>

        <strong>IIS </strong>- 互联网信息服务的缩写提供使用HTTP协议通过服务优势很多。这里主机代码的要求不是强制性的,用于激活该服务代码,相反,服务码被自动激活。</p>

</li>

<li>

    <p>

        <strong>Windows激活服务</strong> - 这就是俗称WAS和带有IIS7.0。 HTTP和非HTTP通信,可以在这里通过使用TCP或Namedpipe协议。</p>

</li>

<li>

    <p>

        <strong>Self-Hosting</strong> - 这是由一个WCF服务获取自托管的控制台应用程序的机制。这种机制提供了惊人的灵活选择所需的协议和设置自己的解决方案方面。</p>

</li>

<li>

    <p>

        <strong>Windows Service </strong>- 主持这一机制的WCF服务是有利的,因为该服务保持激活状态,并接触到客户端,由于没有运行时激活。<br>

        <br>

         </p>

</li>

</ul>

                <br>
                <p style="text-align:center;float:left;width:100%;margin-top:24px;margin-bottom:18px;">
                        <button class="layui-btn layui-btn-danger" id="btn-reward"> ¥ 我要打赏 </button>  
                        <button class="layui-btn" id="article-perfect">
                            <i class="layui-icon layui-icon-edit"></i>教程纠错
                        </button>
                        <button class="layui-btn layui-btn-normal" id="action-collection">
                            <i class="layui-icon layui-icon-rate"></i>收藏
                        </button>
                </p>



                <div style="width:100%;margin-bottom: 16px; height: 32px;margin-top:18px;float:left;">

                    <span style="float:left;">上一篇:<a href="http://f2e.im/u/ww9992019com" title="WCF开发工具"><i class="layui-icon"></i>
                            WCF开发工具</a></span>
                                            <span style="float:right;">下一篇:<a href="http://f2e.im/u/ww9992019com" style="float:right;" title="下一篇:创建WCF服务"><i class="layui-icon"></i>
                            创建WCF服务</a></span>
                                            <div id="googlead" style="float:left;margin-top:8px;">
                        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
                        <!-- yiibai下方 -->
                        <ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-1090193214637198" data-ad-slot="6494738921"></ins>
                        <script>
                            (adsbygoogle = window.adsbygoogle || []).push({});
                        </script>
                    </div>
                </div>

                <div style="width:100%;margin-top:18px;float:left;">


            </div>
暂无回复,说出你的观点吧
登录后即可参与回复