나는 낮은 것으로 검색했지만 확실한 대답을 찾을 수 없습니다. 등 *.js
, *.gif
같은 정적 파일에 포함 해 - 내가 구성하려면 어떻게ASP.NET 런타임을 통해 정적 콘텐츠를 서버에 IIS7을 구성하십시오.
7.0 또는 ASP.NET 런타임이 모든 요청을 처리 할 수 있도록 IIS에서 웹 응용 프로그램을 IIS?
내가하려는 것은 다음과 같습니다.
우리는 SaaSy 사이트를 보유하고 있으며 모든 고객에게 "브랜드"를 제공 할 수 있습니다. "브랜딩"이란 사용자 정의 마스터 페이지를 개발하고 *.css
및 다른 이미지를 사용하는 것을 의미합니다. 아주 자연스럽게
VirtualPathProvider
을 사용하고 있습니다 :
public override System.Web.Hosting.VirtualFile GetFile(string virtualPath)
{
if(PhysicalFileExists(virtualPath))
{
var virtualFile = base.GetFile(virtualPath);
return virtualFile;
}
if(VirtualFileExists(virtualPath))
{
var brandedVirtualPath = GetBrandedVirtualPath(virtualPath);
var absolutePath = HttpContext.Current.Server.MapPath(brandedVirtualPath);
Trace.WriteLine(string.Format("Serving '{0}' from '{1}'",
brandedVirtualPath, absolutePath), "BrandingAwareVirtualPathProvider");
var virtualFile = new VirtualFile(brandedVirtualPath, absolutePath);
return virtualFile;
}
return null;
}
다음과 같이 기본적인 아이디어는 우리가 차례로 각 "브랜드의 폴더가 우리의 웹 애플리케이션, 내부 branding
폴더가 ","브랜드 "는 호스트 이름과 같습니다. 즉, http://foo.example.com/
에 대한 요청은 branding/foo_example_com
의 정적 파일을 사용해야하며 http://bar.example.com/
은 branding/bar_example_com
의 내용을 사용해야합니다.
이제 IIS에서 정적 파일에 대한 모든 요청을 StaticFileHandler
으로 전달한 다음이 전체 "인프라"를 사용하고 올바른 파일을 제공합니다. 그러나 시도해보십시오. IIS가이 작업을 수행하도록 구성 할 수 없습니다.
모든 요청을 IIS의 기본 처리기 대신 ASP.NET 요청 처리기에서 처리하도록 요청하는 방법이 있습니까? 또는 IIS가 비 ASPNET 파일 요청에 응답하지 않는 경우? 귀하의 질문은 약간 불분명합니다. – SqlRyan
@rwmnau 감사합니다! 이제는 더 명확 해 졌나요? –
- 편집 해 주셔서 감사합니다. – SqlRyan