基本信息
源码名称:C# 自定义 HTTP服务器源码(可用于没有iis的情况下搭建站点)
源码大小:2.89M
文件格式:.zip
开发语言:C#
更新时间:2018-09-20
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍
HTTP服务器源码,可以实现POST模式收发,非常值得参考



using System;
using System.Windows.Forms;
using ServerCommonLibrary;
using Server;
using Server.Services;

namespace webserver.tester
{
    public partial class WebServer : Form
    {
        //### server 
        WebServer<myLogger> server;

        public WebServer()
        {
            InitializeComponent();
            myLogger.OnNewMessage  = new myLogger.TraceMessageHandler(Tracer_OnNewMessage);
            this.FormClosing  = new FormClosingEventHandler(WebServer_FormClosing);
        }

        void WebServer_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.FormClosing -= (WebServer_FormClosing);
            if (server != null)
            {
                server.Dispose();
                server = null;
            }
        }

        private void btnStart_Click(object sender, EventArgs e)
        {
            try
            {
                ///
                /// Create the server with the Http provider 
                ///
                server = new WebServer<myLogger>();
                server.AddService<HttpService<myLogger>>(int.Parse(txtPort.Text));
                btnStart.Enabled = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


        void Tracer_OnNewMessage(string message)
        {
            add2debug(message);
        }


        void add2debug(string message)
        {
            this.ltbDebug.Invoke((MethodInvoker)delegate
            {
                ltbDebug.Items.Add(message);
                ltbDebug.SelectedIndex = ltbDebug.Items.Count - 1;
            });
        }

        private void brnClear_Click(object sender, EventArgs e)
        {
            ltbDebug.Items.Clear();
        }
    }

    public class myLogger : IDebugger
    {
        public delegate void TraceMessageHandler(string message);
        public static event TraceMessageHandler OnNewMessage;

        public void trace(string log)
        {
            if (OnNewMessage != null)
                OnNewMessage(log);
        }
    }
}