欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > 【Web服务与Web应用开发】【C#】创建第一个简单的WCF服务应用程序 WCF Service Application(图文详情)

【Web服务与Web应用开发】【C#】创建第一个简单的WCF服务应用程序 WCF Service Application(图文详情)

2025/3/31 17:29:10 来源:https://blog.csdn.net/qq_41539778/article/details/139451365  浏览:    关键词:【Web服务与Web应用开发】【C#】创建第一个简单的WCF服务应用程序 WCF Service Application(图文详情)

目录

0.简介

1.环境 

2.知识点

3.详细过程

1)打开 Visual Studio 2019 ,下载所需插件

2)创建WCF服务应用项目

3)打开 【IService1.cs 】在此处定义服务函数

4)打开 【Service1.svc.cs】实现服务函数

5)测试服务接口


0.简介

  • 本文属于一个系列中的第一篇文章,这个系列会实现一个项目,这个项目主要使用Visual Studio 2019作为开发工具,创建WCF服务、创建Web应用程序调用WCF服务等功能
  • 本文主要介绍如何通过 Visual Studio 2019 来创建第一个WCF服务,这个服务实现的功能是返回数学中Pi的值。

1.环境 

Visual Studio 2019 + c# + windows11

2.知识点

  • WCF指的是Windows Communication Foundation,是微软推出的用于构建分布式应用程序的框架。WCF提供了一种统一的编程模型,用于在不同的计算机、操作系统和网络环境中进行通信。
  • WCF支持多种通信协议,包括HTTP、TCP、MSMQ等,可以在不同的传输协议之间进行切换。它还支持多种消息格式,例如XML、JSON等。
  • 使用WCF,开发人员可以定义服务合同(Service Contract)和数据合同(Data Contract),通过这些合同来描述服务接口和数据结构。然后,WCF提供了一套工具和库,使得开发人员可以轻松地实现和部署这些服务。
  • WCF提供了丰富的功能,例如安全性、事务处理、消息路由、可靠性等。它还支持扩展机制,允许开发人员根据自己的需求来定制和扩展框架的功能。

3.详细过程

1)打开 Visual Studio 2019 ,下载所需插件

点击【创建新项目】

在搜索框中输入【WCF】,找到【WCF Service Application】或【WCF服务应用程序】

如果有的话,请跳过下一步的安装插件

如果没有的话,需要下载对应插件,如下图,找到【安装多个工具和功能】

在打开的界面,勾选4个工具以及1个WCF

然后点击右下角的【修改】,下载过程会比较慢,请耐心等待,下载完成后还需要重启

下载完成后,就可以看到可选项目中有【WCF服务应用程序】了

2)创建WCF服务应用项目

接上文,选择下一步

【如果你使用C#语言】,就选C#的(我用的是C#的)

【如果你使用VB语言】,就选下面这个带VB的

修改名称和项目储存位置,点创建

创建后,可以看到如下目录结构,比较重要的两个文件是【IService1.cs】和【Service1.svc.cs】,这两个文件一个负责定义(地址在哪里,绑定怎么做,合同怎么做),一个负责实现函数

3)打开 【IService1.cs 】在此处定义服务函数

删除【namespace WcfService1】中默认带的函数,加上自己需要的函数,我这里需要一个返回Pi值的函数,所以名字为【PiValue】,返回类型为double

// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。[ServiceContract]public interface IService1{[OperationContract]double PiValue();// TODO: 在此添加您的服务操作}

【IService1.cs 】全部代码如下,【CompositeType】中的内容我没做修改

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;namespace WcfService1
{// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。[ServiceContract]public interface IService1{[OperationContract]double PiValue();// 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; }}}
}

4)打开 【Service1.svc.cs】实现服务函数

删除【 public class Service1 : IService1】中无用的代码,替换为自己的函数实现,我这里主要通过库【Math】返回Pi的值

            double pi = Math.PI;return pi;

Service1.svc.cs】全部代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;namespace WcfService1
{// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。// 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 Service1.svc 或 Service1.svc.cs,然后开始调试。public class Service1 : IService1{public double PiValue(){double pi = Math.PI;return pi;}}
}

5)测试服务接口

按调试快捷键【F5】,会出现如下调试界面,是专用于测试的客户端

可以看到有我们刚才实现的方法【PiValue】,双击【PiValue()】,会出现右侧的界面,然后点击调用

我们可以看到有返回值出现,说明我们的WCF服务成功

--END--

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词