程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#無需IIS構建XmlRpc服務器

C#無需IIS構建XmlRpc服務器

編輯:C#入門知識

准備 我們使用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服務

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved