2013-03-01 5 views
0

웹 응용 프로그램이 Nancy를 사용하며 Azure의 Asp.Net에서 호스팅됩니다.
개발 중에 IIS Express와 Azure 's Compute Emulator를 사용하고 있습니다. 생산에서Request.Url의 포트 정보가 잘못되었습니다.

은 홈페이지 내 컴퓨터에 http://mydomain/test
디버깅에서 열립니다, 홈페이지는 http://127.0.0.1:81/test
에서 열립니다하지만, 내 NancyModule에, 나는 점점 해요 :

Request.Url == http://127.0.0.1:82/test 

왜 82? 어쩌면 IIS Express가 http://127.255.0.0:82/에 사이트를 표시하는 것과 관련이 있습니까?

+1

이 동작이 나타나지 않습니다. 그것을 재현하는 샘플 응용 프로그램을 제공 할 수 있습니까? 감사합니다 – TheCodeJunkie

+0

나는 내 솔루션을 복사하고 Requst.Url 만 검사하는 하나의 NancyModule로 제거했습니다. 이것은 유일하게 남아있는 수업입니다. 아니 부트 스트 래퍼, 아무것도, 그리고 같은 일이. Azure 정의에는 회사의 개인 키가 포함되어 있으므로 작동하는 응용 프로그램을 공유 할 수 없습니다 ... – seldary

+0

로컬로 실행하면 제대로 작동합니까? 아마 우리 사용자 그룹 (nancyfx.org에 대한 링크가 있습니다)에서 이걸 가져올 수 있을까요? – TheCodeJunkie

답변

-2

82는 IIS가 응용 프로그램을 제공하는 포트입니다. 당신이 그걸로 뭔가를하려고합니까?

+0

주소에 따라 코드가 다르므로 개발 및 생산을 위해 별도의 코드를 작성하고 싶지 않습니다. IIS Express는 내가 질문에 쓴 다른 주소로 앱을 제공하고 있습니다. 낸시는 나에게 포트 만 제공하고 IP는 제공하지 않습니다 ... – seldary

+0

원래 질문에서 이것을 설명하지 않았으므로 . 프로덕션에서는 포트 (예 : 82)가있는 IP 주소에 매핑되는 DNS를 사용하고 있습니다. 확실히 프로덕션 환경의 서버는 디버그 호스트와 다른 포트를 사용하고 있습니다. IIS 또는 IDE에서 사용중인 포트를 변경할 수 있습니다. 그러나 실제로 문자열을 구문 분석하고 포트를 제거해야합니다. 왜냐하면 IIS 관리자가 어떤 포트를 할당할지 알 수 없기 때문입니다. – jason

+0

OP가 질문에서 언급 한 것을 지적하고 추가 질문을합니다. 설명. 이것은 코멘트로 더 적절할 것 같습니다. – jadarnel27