WCF

1、WCF定义:

1.1、是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入

1.2、WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。

1.3、WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。

1.4、WCF专门用于面向服务开发

 

2、SOA的定义:(中文全称:面向服务的架构)

2.1、SOA 是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。

2.2、SOA 是一种思想,一种方法论,一种分布式的服务架构。

3、VS2019安装WCF应用

4、创建一个ZhouYu.WCFTest(WCF服务应用程序)项目

5、创建之后,生成这样的目录:

6、删除系统生成的两个文件IService1.cs与Service1.svc

7、添加自定义的WCF【服务文件】User.svc,此时vs2010会自动生成WCF接口文件IUser.cs,我们在IUser中定义WCF方法Add,在User.svc.cs对该接口的方法进行实现

8、在ZhouYu.WCFTest项目中新建一个WCF服务

 

9、在ZhouYu.WCFTest项目下User.svc中添加Add()方法

 public class User : IUser
    {
        public int Add(int a,int b)
        {
            return a + b;
        }
    }

10、在ZhouYu.WCFTest项目下IUser.cs中添加实现Add接口

 public interface IUser
    {
        [OperationContract]
        int Add(int a, int b);
    }

11、将User.svc“设为起始页”,然后F5运行一下试试,如下图所示,VS自动调用了WCF的客户端测试工具以便我们测试程序,然后双击Add()方法名,就会出现下图:

在请求窗口中的值中输入参数“a”与“b”,然后点击“调用”,在响应窗口中会出现返回值“WCF服务计算结果:a+b的值”,说明测试成功,点击下面的XML也可以看到XML的数据传输。我们现在建立好了服务的应用程序和业务逻辑

 

12、IIS部署WCF应用

12.1、到IIS右击网站,然后添加网站,将下图的参数填上

12.2、然后再右击WcfService1文件将它设为应用程序:

12.3、然后就可以浏览此服务:

12.4、点击User.svc,跳转到以下调用页面:

 

13、IIS部署WCF应用常见错误

13.1、注意物理路径

13.2、设置Everyone编辑权限

13.3、设置NetWork Service权限

错误1、未能从程序集“System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.ServiceModel.Activation.HttpModule”。

原因: 这是因为先安装了 .NET Framework 4,随后启用了 .NET Framework 3.5 WCF HTTP 激活,则会发生此错误。

解决办法: 微软官方对该问题也作了解答:http://msdn.microsoft.com/zh-cn/library/aa751852.aspx 只需要已管理员用户在cmd中运行aspnet_regiis.exe -i -enable即可

 

14、创建一个ConsoleTest(.Net FrameWork)控制台项目进行调用WCF

14.1、在ConsoleTest项目中添加服务引用,将添加好参数,可以修改引用命名空间名称

转到后效果图:

14.2、在ConsoleTest项目中Program类中进行测试、运行

public class Program
    {
        static void Main(string[] args)
        {
            UserClient userClient = new UserClient();
            Console.WriteLine(userClient.Add(23,12));
            Console.ReadKey();
        }
    }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值