在C#中創(chuàng)建Web服務(wù)通常涉及到使用ASMX或WCF(Windows Communication Foundation)技術(shù)。這里我將向您展示如何使用ASMX創(chuàng)建一個(gè)簡(jiǎn)單的Web服務(wù)。請(qǐng)注意,ASMX現(xiàn)已被WCF取代,但對(duì)于簡(jiǎn)單的場(chǎng)景,它仍然是一個(gè)有效的選擇。
打開Visual Studio,創(chuàng)建一個(gè)新的“ASP.NET Web應(yīng)用程序”項(xiàng)目。
在解決方案資源管理器中,右鍵單擊項(xiàng)目名稱,然后選擇“添加”->“新建項(xiàng)目”。
從模板列表中選擇“Web”,然后選擇“Web服務(wù)(ASMX)”。為該Web服務(wù)命名,例如“MyWebService.asmx”。
打開“MyWebService.asmx.cs”文件,您將看到一個(gè)名為“MyWebService”的類,其中包含一個(gè)名為“HelloWorld”的方法。您可以在此類中添加您自己的方法。
例如,添加一個(gè)計(jì)算兩數(shù)之和的方法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
namespace MyWebService
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class MyWebService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod]
public int Add(int a, int b)
{
return a + b;
}
}
}
保存更改并運(yùn)行項(xiàng)目。您將看到一個(gè)包含Web服務(wù)描述和方法列表的頁面。
若要調(diào)用Web服務(wù)中的方法,您需要?jiǎng)?chuàng)建一個(gè)客戶端應(yīng)用程序。在Visual Studio中創(chuàng)建一個(gè)新的控制臺(tái)應(yīng)用程序項(xiàng)目。
在解決方案資源管理器中,右鍵單擊控制臺(tái)應(yīng)用程序項(xiàng)目,然后選擇“添加服務(wù)引用”。
在“添加服務(wù)引用”對(duì)話框中,輸入Web服務(wù)的URL(例如:http://localhost:50958/MyWebService.asmx),然后單擊“轉(zhuǎn)到”按鈕。Visual Studio將自動(dòng)檢測(cè)Web服務(wù)并顯示可用的方法。
為Web服務(wù)生成的命名空間起一個(gè)名字,例如“MyWebServiceClient”,然后單擊“確定”按鈕。
在控制臺(tái)應(yīng)用程序的“Program.cs”文件中,添加以下代碼以調(diào)用Web服務(wù)中的“Add”方法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MyWebServiceClient;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
MyWebService myWebService = new MyWebService();
int result = myWebService.Add(3, 4);
Console.WriteLine("The sum of 3 and 4 is: " + result);
Console.ReadLine();
}
}
}
這就是使用C#創(chuàng)建和使用Web服務(wù)的基本過程。如果您需要處理更復(fù)雜的場(chǎng)景,建議您研究WCF技術(shù),因?yàn)樗峁┝烁嗟墓δ芎挽`活性。