/// <summary> /// 构造函数 /// <para>创建一个HTTP服务</para> /// </summary> /// <param name="ipAddress">监听ip地址</param> /// <param name="port">监听端口</param> /// <param name="visitor">访问器</param> /// <param name="certificate">安全证书</param> public HttpService(string ipAddress, int port, HttpVisitor visitor, X509Certificate2 certificate = null) { if (!HttpListener.IsSupported) { Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class."); return; } // 赋值证书 this.certificate = certificate; // 绑定访问回调委托 httpInvoke = visitor; // Create a listener. listener = new TcpListener(IPAddress.Parse(ipAddress), port); // Log.Info("HttpService Listening..."); }
/* 使用方法一 */ public void Http1() { // 先继承http异常接口,这里把测试的访问函数也写在一个类中,实际不需要 HttpHandle1 handle = new HttpHandle1(); // 建立http访问器,并载入异常接口类 HttpVisitor visitor = new HttpVisitor(handle); // 建立http服务,填写地址并且赋予访问器 // X509Certificate2 certificate = new X509Certificate2("https.pfx", "8888"); // HttpService service = new HttpService("127.0.0.1", 8080, visitor, certificate); HttpService service = new HttpService("127.0.0.1", 8080, visitor); // 给访问器增加函数 visitor.Add("", handle.Index); visitor.Add("Hello", handle.Hello); // 启动服务 service.StartServer(); // 然后就可以通过浏览器或其他请求工具来访问了 // 访问地址: http://127.0.0.1:8080/Hello?text=World Console.ReadLine(); }
/// <summary> /// 构造函数 /// <para>创建一个HTTP服务</para> /// </summary> /// <param name="prefix">网址地址(端口号(包括端口)之前的部分:protocol+hostname+port)</param> /// <param name="visitor">访问器(注意:访问器需要全部初始化加载完成后才能创建http服务)</param> public HttpService(string prefix, HttpVisitor visitor) { if (!HttpListener.IsSupported) { Console.WriteLine("Windows XP SP2 or Server 2003 is required to use the HttpListener class."); return; } // 绑定访问回调委托 httpInvoke = visitor; // Create a listener. listener = new HttpListener(); // 初始化访问器列表 foreach (var item in visitor.commandList) { AddPrefix(item.Key, prefix); } // Log.Info("HttpService Listening..."); }