웹 응용 프로그램이 다른 서버의 다른 응용 프로그램과 파일을 더 쉽게 공유하도록 마스터 페이지에 기본 href 태그를 사용하고 있습니다. 많은 사람들이 발견했듯이 웹 양식 경로가 손상됩니다. 작동하는 Form Adapter 클래스가 있지만 URL의 절대 경로를 얻는 방법을 모르겠습니다. 현재 내 프로그램은 유사한 것을 사용하는 하드 코드 :Asp.Net URL의 절대 경로
HttpContext Context = HttpContext.Current;
value = "http://localhost" + Context.Request.RawUrl;
그것은 내가 현재 내 로컬 IIS 서버에서 테스트하고 있습니다 지적 가치, 그래서 내가 사용 해봤 많은 것들에 대한 이상한 경향이있다 순서대로 절대 경로에 도메인 이름이 포함되지 않습니다 (내 로컬 IIS는 외부에서 볼 수 없음). 즉, 절대 경로가 아니므로 기본 href가 파손됩니다.
하드 코딩을하지 않고도 로컬에서 작동하지만 서버에 업로드하면 제대로 작동 할 수 있도록 처리하는 좋은 방법이 있습니까? 나는 서버 측 복사본에서 뭔가 다른 일을하는 것을 피하는 것을 선호한다.
예, 별도의 web.config 파일을 로컬 및 서버에서 사용하여이 정보를 얻을 수 있다는 것을 알았지 만 추악하고 DRY를 위반합니다.
잘 모르겠지만 Request.Url.Host를 사용해 보셨습니까? –