zoukankan      html  css  js  c++  java
  • wcf 入门sample

    原文链接:http://www.cnblogs.com/overblue/archive/2010/11/07/1871345.html

    sample下载 

    建立服务端函数

      “服务端函数”这个命名实在不规范,不过文章是给自己看的,就按自己的习惯进行命名吧。总而言之,我要在服务端建立一个服务函数,供客户端进行调用。首先运行VS2010,选择文件 -> 新建 -> 项目。在新建项目窗口左边的目录中,选择“WCF”,再在右边选择“WCF 服务应用程序”。项目名称叫“WCFServer”、解决方案名称为“WCFTest”:

      

      新建后,默认的接口和实现文件,其文件名默认Service1,不是十分规范,所以我们将文件名和类名改命为CoreService。文件名的更改直接在解决方案资源管理中直接改名就好了。但对类名的更改,应该使用F2重构功能进行更改。

      将类名和接口重命名后,现在我们就需要增加自己的服务端函数了。在这个例子里面,我们只是简单地增加一个取服务端时间的函数:GetServerDateTime。首先打开ICoreService.cs接口文件,在最后增加一个服务端函数接口:

    1
    2
    [OperationContract]
    DateTime GetServerDateTime();

    接着,打开CoreService.svc.cs文件,在类的最后面增加如下代码:

    1
    2
    3
    4
    public DateTime GetServerDateTime()
    {
           return System.DateTime.Now;
    }

    保存项目,并运行应用程序后,程序会弹出一个“WCF测试客户端”应用程序,在程序窗口的左边,我们可以看到我们刚才增加的接口和对应的函数。这是我们首先要做的,就是将地址复制下来:

    这个时间关闭程序就可以了。

    三、建立客户端调用程序

      通过“解决方案资源管理器”,右键新建一个项目。在新建项目窗口左边目录树,选择“Windows”,在右边列表中选择“Windows窗体应用程序”,而项目名称则为“WCFClient”,最后将WCFClient程序“设为启动项目”。

      在WCFClinet的项目中,右键选择“添加服务应用”菜单。

    在弹出的“添加服务应用”窗口中,将之前复制到地址贴粘上去后再“确定”。确定无误后,直接点“确定”就可以了。

    到目前为止,所有的准备工作都已经可以了。下在我们编写一段代码来实现调用服务端函数的功能。首先我们在窗口上添加一个Label和一个Button控件:

    双击Button编写如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    using (ServiceReference1.CoreServiceClient Host = new ServiceReference1.CoreServiceClient())           
    {
        //记录开始时间
        int StartTime = System.Environment.TickCount;
     
        for (int i = 0; i < 1000; i++)
        {
            Host.GetServerDateTime();
        }
     
        //显示执行时间
        label1.Text = (System.Environment.TickCount - StartTime).ToString() + " ms";
        Host.Close();
    1
    }

    这样就大功告成了!不过有一点比较奇怪,就是如果是第一次执行,它的速度总经正常调用慢1到2秒。但只要客户端不是第一次进行连接,则速度是相当的快。好了,整个WCf例子完成了,不过WCF的宿主还不是一个单独的应用程序,所以后面还会继续精进。

  • 相关阅读:
    视图类,双缓冲,图片资源的显示
    偏好设置
    yii2安装遇到[InvalidArgumentException] Could not find package
    java 回调函数解读
    工具使用——神器mimikatz使用
    cve-2019-0708 远程桌面代码执行漏洞复现
    工具使用--sqlmap使用
    漏洞复现--通达OA前台任意用户伪造登录漏洞
    漏洞复现--cve-2020-1938 Apache tomcat 文件包含漏洞
    ThinkPad T480s 用户指南V4.0--更换键盘部分
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2675232.html
Copyright © 2011-2022 走看看