C # 클래스 라이브러리의 Server.Mappath
내 ASP.NET WEbsite에 대한 내 BusinessLayer 역할을하는 C # 클래스 라이브러리 클래스에서 server.mappath 메소드를 어떻게 사용할 수 있습니까?
전화해서?
var path = System.Web.HttpContext.Current.Server.MapPath("default.aspx");
System.Web 어셈블리에 대한 참조를 추가해야합니다.
다음 코드를 사용하여 기본 경로를 얻고 필요한 경로를 추가 할 수 있습니다.
string path = System.AppDomain.CurrentDomain.BaseDirectory;
System.Web을 참조하고 다음을 호출해야합니다.
HttpContext.Current.Server.MapPath(...)
아마도 이것을 종속성으로 추상화하고 IVirtualPathResolver를 만들 수 있습니다. 이렇게하면 서비스 클래스가 System.Web에 바인딩되지 않고 다른 UI 기술에서 논리를 재사용하려는 경우 다른 구현을 만들 수 있습니다.
이 System.Web.Hosting.HostingEnvironment.MapPath ()를 사용하십시오 .
HostingEnvironment.MapPath("~/file")
여기에 아무도 언급하지 않은 이유가 궁금합니다.
HostingEnvironment.MapPath
System.Web.Hosting.HostingEnvironment.MapPath(path);
구조적으로 System.web은 BLL (Business Logic Layer)에서 참조해서는 안됩니다. 솔루션 구조에 BLL을 사용하여 별도의 관심 원칙을 따르므로 System.Web을 참조하는 것은 좋지 않습니다. BLL은 Asp.net 컨텍스트에서로드 / 실행되지 않아야합니다. System.AppDomain.CurrentDomain.BaseDirectory
대신 사용을 고려해야하는 이유 때문에System.Web.HttpContext.Current.Server.MapPath
참조 URL : https://stackoverflow.com/questions/1199486/server-mappath-in-c-sharp-classlibrary
'IT TIP' 카테고리의 다른 글
click ()을 사용하여 jQuery에서 함수 호출 (0) | 2021.01.10 |
---|---|
여러 줄 검색을 Perl로 대체 (0) | 2021.01.10 |
배열 요소가 있는지 확인하는 방법은 무엇입니까? (0) | 2021.01.09 |
일치하는 속성에 대한 배열 검색 (0) | 2021.01.09 |
django에서 login_required 리디렉션 URL을 지정하는 방법은 무엇입니까? (0) | 2021.01.09 |