HttpListener (SelfHost) Nancy Web Server - автоматическая регистрация URL-адреса сервера с правами администратора в С#

Я пытаюсь использовать 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\имя пользователя

Вот мое тестовое консольное приложение:

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();
    }
}

Когда это запускается, мне не предлагается запустить от имени администратора, а http-сервер Nancy не запускается с этой ошибкой: Отказано в доступе

введите здесь описание изображения

Похоже, моя команда netsh не выполнилась для резервирования адреса сервера.

Есть идеи, как это решить?


person Latheesan    schedule 10.03.2018    source источник
comment
создать файл манифеста с <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />   -  person Eser    schedule 11.03.2018
comment
Вы хотели добавить это в запись App.config?   -  person Latheesan    schedule 11.03.2018
comment
stackoverflow.com/ вопросы/6050478/   -  person Eser    schedule 11.03.2018
comment
Спасибо, это сработало, опубликуйте это как ответ - я приму это :)   -  person Latheesan    schedule 11.03.2018
comment
Лучше закрыть как дубликат?   -  person Eser    schedule 11.03.2018