1. 공개 URL 지정

셀프 호스팅에 관한 기사를 보면 대부분 http://localhost:8080 와 같은 localhost 전용의 URL이 지정 되어 있다. 루프 백을 나타내는 설정으로 이 상태로는 외부에서 접근할 수 없다.

자신에게 부여된 IP 주소로 서비스를 공개하고 싶다면 다음과 같이 한다.

[STAThread]

static void Main()

{

using(WebApp.Start("http://+:8080")

{

//---생략

}

}

 

localhost 설정을 + 으로 바꾸는 것이 포인트.

 

 

 

2. 관리자 권한으로 실행

실행하면 TargetInvocationException 예외가 발생한다.

이를 피하기 위해서는 애플리케이션을 관리자 권한으로 실행해야 한다.

app.manifest 에 아래의 설정을 넣는다

 

<?xml version="1.0" encoding="utf-8"?>

<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">       

<security>           

<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">               

<!—실행 시에 관리자 권한을 요구 -->               

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />            </requestedPrivileges>       

</security>   

</trustInfo>

</assembly>

 

Visual Studio에서 디버깅 할 때는 Visual Studio 자체도 관리자 권한으로 승격시켜야 한다.(앞의 매니페스토 설정을 넣으면 디버깅 실행 시 관리자 권한 승격을 요구한다)

 

 

3. 통신 포트 해방

마지막으로 방화벽 수신/송신 규칙에 통신용 포트를 해방하는 설정을 넣는다.

 

 

 

출처: http://blog.xin9le.net/entry/2015/08/17/150406

 

저작자 표시
신고
by 흥배 2016.01.18 08:00