2013-05-04 1 views
1

데스크탑 컴퓨터에 배포 용 응용 프로그램을 작성하고 ServiceStack을 사용하여 json 서비스를 사용하는 중앙 응용 프로그램에 노출합니다. ServiceStack 자체 호스팅을 사용하고 있으며 ServiceStack wiki 예제를 따라 가면서 기본 연결을 설정하고 실행했습니다. 동적 IP 주소 데스크탑의 ServiceStack 서버

서버를 시작하고 결합하는 데 사용됩니다 그것은

윈도우는 너무 비 관리자가 들어오는 요청을 받아 들일 수 구성해야
appHost.Init(); 
appHost.Start("http://server_ip:port/"); 

; 관리자 명령 프롬프트에서이 명령을 사용하십시오.

netsh http add urlacl=http://server_ip:port/ user=desktopMachineName\desktopUserName listen=yes 

참고 : 이것은 약해 보입니다. appHost.Start (urlBase) 명령의 urlBase가 netsh 명령의 urlacl 매개 변수와 다른 경우 Windows에서 연결을 거부합니다. btw 나는 Windows 8에서만 이것을 시도했습니다.

응용 프로그램이 (예 : DHCP로 인해) 데스크톱 컴퓨터의 IP 주소 변경을 견딜 수있는 대체 방법이 있습니까?

이것은 데스크톱 환경이므로 사용자가 호스트 이름 설정이나 컴퓨터의 고정 IP 주소를 사용하지 않을 것으로 기대됩니다. 또한 명령 프롬프트에서 명령을 입력하지 않아도됩니다.

답변

1

중앙 응용 프로그램이 데스크톱 컴퓨터에서 앱을 찾는 방법에 따라 다릅니다.

고정 IP 주소 목록 만있는 경우 데스크톱에 고정 IP 주소가 있어야합니다.

어떻게 든 중앙 앱이 현재 IP 주소가 무엇인지 알고 있거나 네트워크에 있고 기기 이름을 사용할 수 있다면 urlacl=http://+:port을 시도해보십시오.

이것은 기본적으로 http을 통해이 포트로 들어오는 모든 것이이 앱으로 연결된다는 와일드 카드를 설정합니다.

그러면 apphost.Start("http://locahost:port/")이 작동합니다.