我试图用c#编写一个简单的HTTPListener,并且它始终在GetContext()处阻塞,无论我怎么打它,我都会获得503服务不可用。我正在使用Windows 10,并尝试使用.NET 4.5和4.7.2进行相同的操作。
private const string UriPrefix = "http://*:4323/";
// .....
HttpListener listener = new HttpListener();
listener.Prefixes.Add(UriPrefix);
listener.Start();
Console.WriteLine("Listener started on: " + UriPrefix);
HttpListenerContext context = listener.GetContext();
我相信我已经正确设置了使用该端口的权限。如果我删除此条目,则会出现异常,因此我认为它不是权限。
Reserved URL : http://*:4323/
User: LAPTOP1\ntalbot
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;S-1-5-21-3345483530-2244962101-1553254145-1001)
我搜索过高低。我能找到的最接近的是:.Net HttpListener.GetContext() gives "503 Service Unavailable" to the client,它没有答案。
代码几乎直接来自Microsoft网站上的示例。复制并粘贴其代码时,我遇到了完全相同的问题:https://docs.microsoft.com/en-us/dotnet/api/system.net.httplistener?view=netframework-4.8
任何想法如何使其起作用?