相关疑难解决方法(0)

HttpListener的C#问题

我编写了一个Windows服务,使用一个HttpListener异步处理来自点的请求.

它运行正常,但有时会遇到需要重新启动服务或服务器才能修复的问题.最初我用以下方法声明了侦听器对象:

public HttpListener PointsListener = new HttpListener();
Run Code Online (Sandbox Code Playgroud)

这是我开始收听的方法的代码.我是从OnStart服务方法中调用的:

    public string ListenerStart()
    {
        try
        {
            if (!PointsListener.IsListening)
            {
                PointsListener.Prefixes.Add(String.Concat("http://*:", points_port, "/"));
                PointsListener.Start();
                PointsListener.BeginGetContext(PointProcessRequest, PointsListener);

                LogWriter("Http listener activated on port " + points_port);
                return "Listener started";
            }
            else
            {
                return "Listener is already started!";
            }

        }
        catch (Exception err)
        {
            LogWriter("Error in LIstenerStart \r\n" + err.ToString());
            return ("Error: " + err.Message);
        }
    }
Run Code Online (Sandbox Code Playgroud)

以下是处理请求的方法:

    private void PointProcessRequest(IAsyncResult result)
    {
        HttpListener listener = (HttpListener)result.AsyncState;
        HttpListenerContext context = listener.EndGetContext(result); …
Run Code Online (Sandbox Code Playgroud)

c#

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1