zoukankan      html  css  js  c++  java
  • Visual Studio2019 使用WCF服务

    什么是WCF

    Windows Communication Foundation (WCF) 是一个框架,用于生成面向服务的应用程序。它取代了较旧的进程间通信技术,例如 ASMX Web 服务、.NET 远程处理、企业服务 (DCOM) 和 MSMQ。 WCF 将所有这些技术的功能汇集在一个统一的编程模型下,简化了开发分散式应用程序的体验。 使用 WCF,可以将数据作为异步消息从一个服务终结点发送到另一个服务终结点。 服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务。 终结点可以是从服务终结点请求数据的服务客户端。 简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流。

    创建WCF服务

    如果发现找不到wcf项目,这时你需要去安装Visual Studio 的Windows Communication Foundation组件

     

     1.  创建过程如下

     

     2. 项目创建成功后,会自动生成的一些演示文件

     IService1.cs

     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
        [ServiceContract]
        public interface IService1
        {
            [OperationContract]
            string GetData(int value);
    
            [OperationContract]
            CompositeType GetDataUsingDataContract(CompositeType composite);
    
            // TODO: 在此添加您的服务操作
        }
    
        // 使用下面示例中说明的数据约定将复合类型添加到服务操作。
        // 可以将 XSD 文件添加到项目中。在生成项目后,可以通过命名空间“WcfServiceDemo.ContractType”直接使用其中定义的数据类型。
        [DataContract]
        public class CompositeType
        {
            bool boolValue = true;
            string stringValue = "Hello ";
    
            [DataMember]
            public bool BoolValue
            {
                get { return boolValue; }
                set { boolValue = value; }
            }
    
            [DataMember]
            public string StringValue
            {
                get { return stringValue; }
                set { stringValue = value; }
            }
        }
    View Code

    Service.cs

     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“Service1”。
        public class Service1 : IService1
        {
            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
    
            public CompositeType GetDataUsingDataContract(CompositeType composite)
            {
                if (composite == null)
                {
                    throw new ArgumentNullException("composite");
                }
                if (composite.BoolValue)
                {
                    composite.StringValue += "Suffix";
                }
                return composite;
            }
        }
    View Code

    标注解释

    测试服务

     按 F5 运行该服务。 WCF 测试客户端 窗体随即出现并加载服务。

    在“WCF 测试客户端”窗体中,双击 IService1 下的 GetData() 方法。 此时会显示 "工作" 选项卡。

     在“请求”框中,选择“值”字段,并键入 1314。

     如上所示,我们的服务没有问题,然后在浏览器输入服务地址http://192.168.43.219/SchoolService(配置文件中的baseAddress)查看服务,我们可以点击查看服务的wsdl文档,wsdl详细展示了服务的方法、数据类型、服务地址等信息。

     

     

    !

    • 作       者 : 明志德道
    • 希     望: 如果内容对您有用,动动小手点个赞吧,您的支持就是我持续写作的动力!
    • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
    • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
  • 相关阅读:
    从零开始学 ASP.NET Core 与 EntityFramework Core 介绍
    Spring Cloud Stream
    基于vue实现的三级联动下拉框
    中国十大瓜子品牌排行榜
    春秋战国2020
    spring boot 2 + shiro 实现权限管理
    轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端
    springboot+maven+thymeleaf配置实战demo
    Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程
    idea使用maven install命令打包(springboot),jar运行时出现没有主清单属性
  • 原文地址:https://www.cnblogs.com/for-easy-fast/p/14053293.html
Copyright © 2011-2022 走看看