2015-02-15 6 views
2

У меня небольшая проблема с сервером, размещенным в OWIN. Я пытаюсь сделать его доступным для локальной сети, что означает, что я должен добавить несколько дополнительных опций:Невозможно использовать несколько опций OWIN

// Start OWIN host 
     StartOptions options = new StartOptions(); 
     options.Urls.Add("http://localhost:4004"); 
     //options.Urls.Add("http://127.0.0.1:4004"); 
     //options.Urls.Add(string.Format("http://{0}:4004", Environment.MachineName)); 
     using (WebApp.Start<Startup>(options)) 
     { 

      // Create HttpCient and make a request to api/values 
      HttpClient client = new HttpClient(); 
      client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/text")); 

     } 

Теперь проблема, если я раскомментировать вторую строку:

options.Urls.Add("http://127.0.0.1:4004"); 

I 'получим ошибку:

An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll

Additional information: Exception has been thrown by the target of an invocation.

Может кто-нибудь помочь мне? Странно, что я могу использовать только localhost, а не мой ip.

+0

В соответствии с этим: http://stackoverflow.com/questions/16642651/self-hosted- owin-and-urlacl ваш код выглядит отлично. Есть ли какие-либо подробности в исключениях? Как внутреннее исключение или что-то еще. – Mino

+0

@ Мино да, есть внутреннее исключение: «Acces is denied» –

ответ

1

Проблема заключается в том, что нет прав администратора. Я получаю отказ от внутреннего внутреннего исключения. При использовании этого в файле манифеста приложения Я сделал ошибку уйти :)

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
<security> 
    <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
    </requestedPrivileges> 
</security> 

Смежные вопросы