准備 我們使用CookComputing.XmlRpcServerV2 3.0.0來構建XmlRpc服務器。 新建一個控制台項目,在項目中添加對CookComputing.XmlRpcServerV2 3.0.0的引用,可以使用nuget來安裝。 PM> Install-Package xmlrpcnet PM> Install-Package xmlrpcnet-server 編寫服務 我這裡寫了個非常簡單的服務,代碼如下: public class SimpleService : XmlRpcListenerService { [XmlRpcMethod] public int Add(int a, int b) { return a + b; } } 編寫Service Host相關代碼,也就是XmlRpc服務代碼 這裡我們通過HttpListener類處理XmlRpc客戶端的請求,HttpListener使用的是異步處理,代碼如下: class Program { private static XmlRpcListenerService _svc = new SimpleService(); static void Main(string[] args) { HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://127.0.0.1:11000/"); listener.Start(); listener.BeginGetContext(new AsyncCallback(ProcessRequest), listener); Console.ReadLine(); } static void ProcessRequest(IAsyncResult result) { HttpListener listener = result.AsyncState as HttpListener; // 結束異步操作 HttpListenerContext context = listener.EndGetContext(result); // 重新啟動異步請求處理 listener.BeginGetContext(new AsyncCallback(ProcessRequest), listener); try { Console.WriteLine("From: " + context.Request.UserHostAddress); // 處理請求 _svc.ProcessRequest(context); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } 啟動程序後,打開浏覽器訪問:http://127.0.0.1:11000/就可以看到如下的頁面,現在就可以調用XmlRpc服務了。 XmlRpc服務