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 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
  • 相关阅读:
    中国软件杯——基于计算机视觉的交通场景智能应用
    《架构实践--软件架构设计的过程》读书笔记
    《架构实践--软件架构设计的过程》读书笔记
    软件架构师Refined Architecture部分读后感
    pycharm安装TensorFlow失败如何解决
    python聚类树图
    极限测试三
    极限测试进度2
    极限测试进度1
    赛题分析
  • 原文地址:https://www.cnblogs.com/for-easy-fast/p/14053293.html
Copyright © 2011-2022 走看看