• WCF小实例


    哎,小弟落伍了啊,连WCF都不懂的,今天看了下,有点学皮,赶紧发发。。。

    主要写下创建WCF皮毛的东东。。。

    一、创建一个WCF应用程序

    1、定义一个接口,用来暴露服务端所支持的操作接口(即它可以被远程调用,标明为ServiceContract);

    例:

    [ServiceContract]

    public interface Inter_Name

    {

        //操作的方法

    }

    2、在操作的方法中定义一个SerivceContract中允许与客户端进行交互的操作接口,标明为OperationContract

    例:

    [ServiceContract]

    public interface Inter_Name

    {

         [OperationContract]

         void Inter_Method();

    }

    3、定义一个表示服务端和客户端对于要传输的数据的抽象。只要服务端和客户端共享同样的DataContract类型,它们就可以交换数据。DataContract组成消息的各个方面的信息。在类上标明为DataContract

    例:

    [DataContract]

    public class ABClass

    {

        //成员

    }

    二、创建一个winform应用程序用来开户wcf服务,添加一个app.config,,把在wcf应用程序里生成的webconfig下的<system.serviceModel>......</system.serviceModel>节点之间(含)拷贝到app.config下

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="WcfDemo.Service1" behaviorConfiguration="WcfDemo.Service1Behavior">
            <host>
              <baseAddresses>
                <!--添加服务调用地址-->
                <add baseAddress="http://localhost:8200/%22/>
              </baseAddresses>
            </host>


            <!-- Service Endpoints -->
            <endpoint address="" binding="wsHttpBinding" contract="WcfDemo.IService1">
              <!--
                  部署时,应删除或替换下列标识元素,以反映
                 用来运行所部署服务的标识。删除之后,WCF 将
                  自动推断相应标识。
              -->
              <identity>
                <dns value="localhost"/>
              </identity>
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="WcfDemo.Service1Behavior">
              <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
              <serviceMetadata httpGetEnabled="true"/>
              <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
              <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>
     
    </configuration>

    其中

     <host>
              <baseAddresses>
                <!--添加服务调用地址-->
                <add baseAddress="http://localhost:8200/>
              </baseAddresses>
            </host>为手动添加,http://localhost:8200/这个表示服务开启后访问的地址

    开户服务的代码:

    ServiceHost host = new ServiceHost(typeof(WcfDemo.Service1));
    host.Open();

  • 相关阅读:
    转 MySQL 日期类型详解
    ServiceStack.OrmLite 笔记9 -code first 必须的代码优先
    ServiceStack.OrmLite 笔记8 -还是有用的姿势
    ServiceStack.OrmLite 学习笔记7-复杂点的使用1
    ServiceStack.OrmLite 6 学习笔记 查
    ServiceStack.OrmLite 笔记5 改
    ServiceStack.OrmLite 笔记4 删
    ServiceStack.OrmLite 学习笔记3 建表
    ServiceStack.OrmLite 笔记2 -增
    ServiceStack.OrmLite 笔记
  • 原文地址:https://www.cnblogs.com/KimhillZhang/p/2367714.html
Copyright © 2020-2023  润新知