2014-10-06 2 views
2

TopShelf를 사용하여 Windows 서비스로 실행되는 자체 호스팅 웹 API가 있습니다. TopShelf에는 app.config가 있지만 웹 API에는 web.config가 없습니다. web.config를 추가하거나 app.config에 설정 (웹 설정)을 추가하면 둘 다 내 웹 API에서 무시됩니다.WebApi를 TopShelf Windows 서비스로 자체 호스팅 할 때 web.config 설정을 설정하는 방법

나는 다음과 같은 설정해야합니다

<system.web><identity impersonate="true" /></system.web> 

하지만 난 곳을 설정하는 모른다.

답변

0

IIS에 웹 API를 호스팅하지 않으므로 web.config이 필요하지 않습니다.
당신은 사용할 수 없습니다

<system.web><identity impersonate="true" /></system.web> 

을가 ASP.NET (자세한 내용 here) 특정 때문이다.

Windows 서비스 => "로그온"구성에서 자격 증명을 설정하지 않는 이유는 무엇입니까? code에 의해 TopShelf를 사용

enter image description here

또는 :

HostFactory.New(x => 
{ 
    x.RunAs("username", "password"); 
}); 

당신은 어쩌면,이 값을 암호화하여 app.config에서 usernamepassword를 읽고 수 물론.

다른 사용자를 가장하려고한다면 할 수있는 일은 많지 않지만 저수준 API를 사용하십시오.
여기에 좋은 explanation/solution 찾을 수 있습니다.

+0

누구든지 인증 된 사용자로 가장하려고합니다. – Shumii

+0

코드를 사용하여 코드를 작성했지만 코드를 작성하지 않고 web.config에 설정하는 것을 선호합니다. IIS 없이는 불가능합니다. 나는 스스로를 호스팅 할 때 여전히 어떤 종류의 웹 서버를 사용하는 것을 이론화하고 있긴하지만? 내 문제에 대한 해결책을 가지고 있습니다. 인터 셉션을 사용하여 모든 호출을 차단하고 가장 코드로 감싸는 것입니다. – Shumii

+0

코드를 어떻게 사용 했습니까? – vtortola

관련 문제