C#中使用WCF创建面向网络的服务程序
如题。
这种东西基于微软的一整套东西,在.NET内使用特别方便。利弊自行衡量,是否使用自行决定。
步骤1、创建一组在网上发布的方法
新建项目,类型选择“WCF服务应用程序”
在项目里,你可以补充任意的c#方法,例如:
注意:所有方法都必须在接口文件里有说明,否则无法发布。后面会提到。
至此,用户自定义方法完成。“调试”可以在iisexpress中发布:
浏览器里访问的情况如下图:
至此,服务发布成功。当然,通过iis正式发布是真实案例中最常用的方式。
步骤2、调用wcf服务。
核心:新建任意一个项目,引用这个服务,创建客户端,调用它。
输入url,转到:
此处能看到作为服务提供的几个方法。命名空间可以采用默认的“ServiceReference1”
主程序中添加必要的引用
1 using ConsoleApp1.ServiceReference1;
程序中就可以使用这些方法了
static void Main(string[] args) { Service1Client sc = new Service1Client(); int x = 5; x = sc.doubleX(5); Console.WriteLine(x); Console.ReadKey(); }
运行结果:
注意:要发布的方法,一定要在接口文件(本例为IService1.cs)里加以说明:
public interface IService1 { [OperationContract] string GetData(int value); [OperationContract] int doubleX(int x); [OperationContract] CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: 在此添加您的服务操作 }
再次强调,这种服务通常使用iis发布,可以提供更加灵活的调用。相比于webapi,编写和调用习惯都更贴近于常规的c#程序。
缺点:一般仅提供给c#项目。
这种用法,类似于webapi,很贴近于MVC架构里的C。
典型用途:在数据库服务器上做一个wcf程序,可以为数据库应用做一次封装。无论是把access变成“网络数据库”;还是把网络数据库的网络访问权限关闭,仅靠wcf提供服务,以提高安全性,都可以。
相关推荐
joynet00 2020-06-04
似水流年梦 2019-12-09
yangyong 2013-06-02
草原上一间小屋 2013-03-29
ajaxDreamer 2011-09-20
slivelight 2011-05-26
lijinjinxuzhou 2011-05-26
llzzyy 2018-12-20
liuyiy 2012-11-20
标绘交流群 2011-09-23
甲骨园 2011-07-04
酷讯科技 2010-05-28
luobailian 2009-12-08
banli0 2009-12-07
老骥伏枥 2009-12-07
jasonoiu 2009-11-09
xienue 2009-11-06
jiaoly 2009-11-06
CSocket通信 2009-11-06