zoukankan      html  css  js  c++  java
  • WCF 之 初识WCF

      在编程中服务的作用越来越大了,.net从2.0的 webservice,到3.5之后的WCF,服务的功能越来越强了。现在先从简单的看起,先看看WCF服务的发布。

      现在来看看一步一步发布 WCF 服务。
      环境:
      系统:windows 7
      开发工具:visual studio 2010  .net 版本:4.0

    一、新建一个WCF服务

      1、“ 文件 → 新建 → 项目 → WCF 服务应用程序 ”;

      2、建好后,手动增加几个类,如图:

      

       3、实现服务接口,创建序列化的数据类。
      本项目中:

      [1] 服务接口:IService1.cs;

      [2] 服务接口实现:Service1.svc;

      [3] 序列化的数据类:CompositeType类;

      注意CompositeType类中的 [DataContract]和[DataMember],网络传输数据类必须要序列化。还有就是IService1中的[ServiceContract]和[OperationContract],这都是标准模式,只有这样写远程客户端才能访问的到服务的方法。

    二、发布

      1、简单测试,直接 F5 运行,结果如下图:

      

      2、点击Service1.svc,结果如下图:

      

      图中的http://localhost:51781/Service1.svc?wsdl 就是服务的url,可以直接在本地测试。
      创建一个客户端测试工程。
      需要“添加服务引用”,将这个url添加。这很简单就不用给图了。给这个引用的服务命名:LocalRunService,如图,
      
      调用:

           //直接F5运行
                //服务url:http://localhost:2303/Service1.svc?wsdl
                using (LocalRunService.Service1Client sclient = new LocalRunService.Service1Client())
                {
                    string data = sclient.GetData(2);
                    Console.WriteLine(data);
    
                    TestMyWCFClient.LocalRunService.Person p = sclient.GetDataUsingDataContract();
                    string pcontent = string.Format("ID:{0}{1}Name={2}", p.ID,Environment.NewLine, p.Name);
                    Console.WriteLine(pcontent);
                    Console.ReadLine();
                }

      结果:
      


       2、正式发布
      (1)检查IIS的必要组件;

      (2)注册一下WCF组件。
      打开Visual Studio命令行提示工具(Start->所有程序->Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示, Windows7及以后的版本,需要以管理员身份打开).

      [1] 运行” ServiceModelReg.exe –ia”;

      

      [2] 运行”aspnet_regiis.exe -i”; 

      

      

      

      

      

      

      (3)发布:右键 → 发布

      

      (4)跟部署网站一样部署在IIS服务器上;

      (5)直接“ 右键 → 管理网站 → 浏览 ”,报错如下:

      

       (6)原因未启用目录浏览,启用即可:

      

      (7)正式发布成功。

      

  • 相关阅读:
    linux系统如何发送邮件
    zabbix监测图形界面显示方框乱码解决方法
    Eclipse C++的配置问题launch failed binary not found
    Cpu表现出正弦曲线
    让cpu跑到100%的bat文件
    进程僵死
    华为一些笔试题~~~~零散总结
    数据库~~~投影与除操作
    C++连接Mysql数据库操作
    微软面试题目及答案
  • 原文地址:https://www.cnblogs.com/xinaixia/p/5758582.html
Copyright © 2011-2022 走看看