zoukankan      html  css  js  c++  java
  • .NET Core 调用WCF 服务

    转自:https://www.cnblogs.com/linezero/p/NETCoreWCF.html

    .NET Core 和ASP.NET Core 已经可以调用WCF 服务。

    环境要求:

    VS2015 Update 2 +VS2015 Tooling + .NET Core SDK

    下载地址:

    https://www.microsoft.com/net/core

    已经安装可以忽略。

    安装扩展

    打开VS2015 在 工具-》扩展和更新 联机中搜索 WCF Connected Service

    然后下载安装。安装完成后重启VS2015.

    创建WCF服务

    新建一个wcf 服务,里面添加一些方法。

    INETCoreService.cs

    复制代码
        [ServiceContract]
        public interface INETCoreService
        {
    
            [OperationContract]
            string GetData(int value);
    
            [OperationContract]
            CompositeType GetDataUsingDataContract(CompositeType composite);
    
            [OperationContract]
            List<string> GetList();
    
            // TODO: 在此添加您的服务操作
        }
    
    
        // 使用下面示例中说明的数据约定将复合类型添加到服务操作。
        [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; }
            }
        }
    复制代码

    NETCoreService.svc

    复制代码
        public class NETCoreService : INETCoreService
        {
            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;
            }
    
            public List<string> GetList()
            {
                var list = new List<string>();
                list.Add("cnblogs");
                list.Add("linezero");
                list.Add("测试");
                return list;
            }
        }
    复制代码

    .NET Core调用WCF

    新建一个 .NET Core 控制台程序。

    然后在NETCoreWCFClient 引用右键-》添加连接的服务

    选择WCF Service ,然后配置。将运行起来的WCF的地址填入。

    然后下一步,这里在Data Type 选项里将 Array 改成List 。

    然后完成即可。

    这里我们就可以调用WCF 服务了。

    复制代码
            public static void Main(string[] args)
            {
                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
                NETCoreServiceClient client = new NETCoreServiceClient();
                var t = client.GetDataAsync(100);
                Console.WriteLine(t.Result);
                var t1 = client.GetListAsync();
                foreach (var item in t1.Result)
                {
                    Console.WriteLine(item);
                }
                CompositeType composite = new CompositeType();
                composite.BoolValue = true;
                composite.StringValue = "客户端调用";
                var t2 = client.GetDataUsingDataContractAsync(composite);
                Console.WriteLine(t2.Result.StringValue);
                Console.ReadKey();
            }
    复制代码

    F5执行程序

     GitHub :https://github.com/linezero/Blog/tree/master/NETCoreWCF

    目前.NET Core 版 WCF 的支持还不算很完整,有些复杂并不能成功引用。

    如果你觉得本文对你有帮助,请点击“推荐”,谢谢。

    ASP.NET Core 3.1 新书发布 《ASP.NET Core项目开发实战入门》 京东 当当 淘宝
    博客示例代码GitHub:https://github.com/linezero/Blog
  • 相关阅读:
    SignalR + MVC5 简单示例
    SignalR 简单示例
    Web API 简单示例
    Windows Azure 使用体验
    SQL Server 2014 安装小记
    SSRS 迁移
    SSH配置(同一服务器不同用户)
    【6】Zookeeper脚本及API
    【3】Kafka安装及部署
    【2】Kafka概念及原理
  • 原文地址:https://www.cnblogs.com/turnip/p/15038514.html
Copyright © 2011-2022 走看看