使用VS2019创建WebService

Using VS2019 to create a WebService

我想使用 Visual Studio 2019 在现有 .NET 项目中使用 C# 创建 WebService。在互联网上搜索,我只能找到旧 VS 版本的教程...


如何创建它,使用 Visual Studio 2019 接收 POST 数据的最佳方法是什么?

考虑到您已打开解决方案:

  • 右键单击项目名称(在解决方案资源管理器中),转到 “添加” 然后 “添加新项目...”

  • Select “Visual C#”,向下滚动,select “Web 服务 (ASMX)”然后单击 “添加”

在项目的根文件夹中创建了一个名为 WebService.asmx(或您输入的名称)的文件。在里面,你应该看到代码:

<%@ WebService Language="C#" CodeBehind="~/App_Code/WebService.cs" Class="WebService" %>

这个文件只是用来调用代码的,在"~/App_Code/WebService.cs"。所以如果你想从 POST / GET 调用它,你应该使用:

www.host.com/pathTo/projectRoot/WebService.asmx/functionName?Params=values

打开"~/App_Code/WebService.cs"后,你应该会看到类似的东西:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{

    public WebService()
    {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod]
    public string HelloWorld()
    {
        return "Hello World";
    }

}

现在,您可以自定义代码来接收和处理 POST / GET 数据。

请注意,不应使用 Request["param"],而应使用 HttpContext.Current.Request["param"];

这就是我创建带有 asmx 页面的项目的方式。