c# - 在后台工作人员上运行的 Http 侦听器
问题描述
我对http监听器有几个问题。首先,在异步 backgroundWorker 任务中运行 http 侦听器是一种好习惯吗?或者我应该使用线程还是任务?
private void Main_Load(object sender, EventArgs e)
{
backgroundWorker.RunWorkerAsync();
}
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
listener = new HttpListener();
listener.Prefixes.Add("http://localhost:8000/");
listener.Prefixes.Add("http://127.0.0.1:8000/");
listener.AuthenticationSchemes = AuthenticationSchemes.Anonymous;
listener.Start();
while (true)
{
var result = listener.BeginGetContext(new AsyncCallback(ListenerCallback), listener);
result.AsyncWaitHandle.WaitOne();
}
}
private void ListenerCallback(IAsyncResult result)
{
var context = listener.EndGetContext(result);
}
第二个问题是我的例子对,同时接受多个客户请求?
解决方案
推荐阅读
- c - 如何使用循环或数组使代码更简单?
- javascript - 按回车键使用 html/css/js 创建一个带标签的文本框(附截图)
- python - 为 Python 的 Anaconda 版本安装源代码后导入 Pyro 时出错
- javascript - 对条形图进行排序并在分组条形图中获取分组数据
- stripe-payments - “stripe.handleCardPayment(clientSecret)”和“stripe.retrievePaymentIntent(clientSecret)”有什么区别?
- python - 日历视图中的 Odoo v12 Many2many 字段
- vue.js - 值更改时更新数据Vue Js
- hyperledger-fabric - TLS 握手失败并出现错误远程错误:tls: bad certificate server=Orderer
- database - 如何修复'TypeError:无法读取未定义的属性'项目'
- python - 从数据库中列出订单号、项目和子项目