我正在尝试使用Microsoft.Owin.Host.HttpListener
和Nancy.Owin
来运行本地api服务器,如下所示:
https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-owin#katana---httplistener-selfhost
我正在尝试自动执行此步骤:
netsh http add urlacl url = http://+:8080/ user = DOMAIN \ username
这是我的测试控制台应用程序:
class Program
{
private static string localApiServerUrl = "http://+:9999";
static void Main(string[] args)
{
RegisterLocalApiUrl();
using (WebApp.Start<Startup>(localApiServerUrl))
{
Console.WriteLine("Running on {0}", localApiServerUrl);
Console.WriteLine("Press enter to exit");
Console.ReadLine();
}
}
private static void RegisterLocalApiUrl()
{
string args = string.Format(
@"http add urlacl url={0} user={1}\{2}",
localApiServerUrl,
Environment.UserDomainName,
Environment.UserName);
ProcessStartInfo processStartInfo = new ProcessStartInfo("netsh", args)
{
Verb = "runas",
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true
};
Process.Start(processStartInfo).WaitForExit();
}
}
运行时,我没有收到以管理员身份运行的提示,并且 Nancy http服务器无法启动此错误:拒绝访问
这看起来我的netsh
命令没有运行以保留服务器地址。
任何想法如何解决这个问题?