Ant*_*lev 4 asp.net iis-7 static-files integrated-pipeline-mode
我搜索得很高,仍然无法找到明确的答案.
如何在IIS中配置IIS 7.0 Web应用程序,使ASP.NET运行时将处理所有的请求-包括那些像静态文件*.js,*.gif等等?
我想要做的是如下.
我们有一种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;
}
Run Code Online (Sandbox Code Playgroud)
基本思路如下:我们branding的webapp中有一个文件夹,其中包含每个"品牌"的文件夹,其中"品牌"等于主机名.也就是说,请求http://foo.example.com/应该使用静态文件branding/foo_example_com,而http://bar.example.com/应该使用来自的内容branding/bar_example_com.
现在我想要IIS做的是将所有请求转发到静态文件StaticFileHandler,然后使用整个"基础结构"并提供正确的文件.但是,尽我所能,我无法配置IIS来执行此操作.
| 归档时间: |
|
| 查看次数: |
4802 次 |
| 最近记录: |