문제

사용해야합니다 Server.MapPath() 내가 저장 한 일부 파일 경로를 결합하려면 web.config.

그러나 그 이후로 Server.MapPath() 현재 httpcontext에 의존합니다 (생각합니다). "사용 가능한"이 메소드를 사용하려고 할 때는 다음과 같은 예외를 얻습니다.

이러한 맥락에서 서버 작동을 사용할 수 없습니다.

다음과 같은 웹 루트 상대 디렉토리를 매핑 할 수있는 다른 방법이 있습니까? ~/App_Data/ 다음과 같은 전체 물리적 경로로 C:\inetpub\wwwroot\project\App_data\ ?

도움이 되었습니까?

해결책

당신은 시도 할 수 있습니다 System.Web.Hosting.HostingEnvironment.mappath ().

httpcontext가 필요하지 않습니다.

다른 팁

사용 AppDomain.CurrentDomain.BaseDirectory 왜냐하면 Context NULL을 반환 할 수 있습니다 !!

Global.asax에있을 때는 사용하십시오 문맥 물체:

context.server.mappath ()

컨텍스트를 사용하면 세션 컬렉션, 요청 객체, 응답 객체에도 액세스 할 수 있습니다. 예를 들어 오류를 기록 할 때 매우 유용합니다.

httpcontext.current.server.mappath ( "/")를 시도 할 수 있습니다. 이것이 수업에서 전에 참조 한 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top