• C#中使用WCF创建面向网络的服务程序


    如题。

    这种东西基于微软的一整套东西,在.NET内使用特别方便。利弊自行衡量,是否使用自行决定。

    步骤1、创建一组在网上发布的方法

      新建项目,类型选择“WCF服务应用程序”

      

       在项目里,你可以补充任意的c#方法,例如:

      

       注意:所有方法都必须在接口文件里有说明,否则无法发布。后面会提到。

      至此,用户自定义方法完成。“调试”可以在iisexpress中发布:

      

       浏览器里访问的情况如下图:

      

       至此,服务发布成功。当然,通过iis正式发布是真实案例中最常用的方式。

    步骤2、调用wcf服务。

      核心:新建任意一个项目,引用这个服务,创建客户端,调用它。

      

       输入url,转到:

      

       此处能看到作为服务提供的几个方法。命名空间可以采用默认的“ServiceReference1”

      主程序中添加必要的引用  

    1 using ConsoleApp1.ServiceReference1;

      程序中就可以使用这些方法了  

    1 static void Main(string[] args)
    2         {
    3             Service1Client sc = new Service1Client();
    4             int x = 5;
    5             x = sc.doubleX(5);
    6             Console.WriteLine(x);
    7             Console.ReadKey();
    8         }

      运行结果:

      

     注意:要发布的方法,一定要在接口文件(本例为IService1.cs)里加以说明:

     1 public interface IService1
     2     {
     3 
     4         [OperationContract]
     5         string GetData(int value);
     6         [OperationContract]
     7         int doubleX(int x);
     8         [OperationContract]
     9         CompositeType GetDataUsingDataContract(CompositeType composite);
    10 
    11         // TODO: 在此添加您的服务操作
    12     }

    再次强调,这种服务通常使用iis发布,可以提供更加灵活的调用。相比于webapi,编写和调用习惯都更贴近于常规的c#程序。

    缺点:一般仅提供给c#项目。

    这种用法,类似于webapi,很贴近于MVC架构里的C。

    典型用途:在数据库服务器上做一个wcf程序,可以为数据库应用做一次封装。无论是把access变成“网络数据库”;还是把网络数据库的网络访问权限关闭,仅靠wcf提供服务,以提高安全性,都可以。

  • 相关阅读:
    ES6的Iterator,jquery Fn
    html4,xhtml,html5发展历史
    浏览器Range,Selection等选中文本对象
    高效的插入子节点DocumentFragment
    Vue 性能优化track-by
    JS中先有Object还是先有Function?
    Unicode 与(UTF-8,UTF-16,UTF-32,UCS-2)
    FormData、Blob、File、ArrayBuffer数据类型
    jQuery 2.0.3 源码分析 事件绑定
    记录:springmvc + mybatis + maven 搭建配置流程
  • 原文地址:https://www.cnblogs.com/wanjinliu/p/11968281.html
Copyright © 2020-2023  润新知