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

目录

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--

  • 33
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wyn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值