win7中用 httplistener 出现 503 错误的问题

Posted zsychanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win7中用 httplistener 出现 503 错误的问题相关的知识,希望对你有一定的参考价值。

项目中须要用httplistener提供一个简单的httpserver服务。可是执行都是提示:

UnHandledException Message:拒绝訪问

在System.Net.HttpListener.AddAll()

在System.Net.HttpListener.Start()

网上查了下,好像是UAC权限的问题,网上找到了以下的解决的方法:

为程序加入了管理员权限执行的manifest配置文件,依旧不能解决,手动设置程序以管理员权限执行能够通过

解决改问题的方法:

以管理员权限执行cmd

输入: netsh http add urlacl url=http://+:9527/icon user=DOMAIN\\user

注:DOMAIN 即计算机名

比如我的user=cmdszh_comperny\\cmdszh

 

把以上操作写为C#代码例如以下(主程序一定在manifest中配置UAC权限)

public static void AddAddress(string address)
{
try
{
AddAddress(address, Environment.UserDomainName, Environment.UserName);
}catch(Exception ex){}
}

public static void AddAddress(string address, string domain, string user)
{
string argsDll = String.Format(@"http delete urlacl url={0}", address);
string args = string.Format(@"http add urlacl url={0} user={1}\\{2}", address, domain, user);
ProcessStartInfo psi = new ProcessStartInfo("netsh", argsDll);
psi.Verb = "runas";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
Process.Start(psi).WaitForExit();//删除urlacl
psi = new ProcessStartInfo("netsh", args);
psi.Verb = "runas";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
Process.Start(psi).WaitForExit();//加入urlacl
}


原文地址:http://www.cnblogs.com/cmdszh/archive/2012/08/16/httplistener.html

以上是关于win7中用 httplistener 出现 503 错误的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 HttpListener 在停止时中止挂起的请求? HttpListener.Stop 不起作用

C# 关于HttpListener输入流无法读取的问题

在win7旗舰版32为系统中用VM虚拟机装红旗linux后无法进入登陆界面,屏幕上显示一个大大的6字就不动了。

我quicktime安装出现下面问题,我win7的 求高手! 可以搞定的话我再送上50分

替代 HttpListener?

使用 HttpListener 访问键/值对