C# Global.asax上的ASP.NET gzip脚本和CSS
我正在应用程序中实现此库 如果我在VisualStudio中运行该站点,它工作得非常好,但是当我编译我的站点并在IIS中发布时,它只包含gzip ASPX文件,而不是CSS或JavaScript文件C# Global.asax上的ASP.NET gzip脚本和CSS,c#,javascript,asp.net,css,gzip,C#,Javascript,Asp.net,Css,Gzip,我正在应用程序中实现此库 如果我在VisualStudio中运行该站点,它工作得非常好,但是当我编译我的站点并在IIS中发布时,它只包含gzip ASPX文件,而不是CSS或JavaScript文件 是否有更好的方法在与Visual Studio 2005相对应的C#中实现JavaScript和CSS gzip(更改IIS不是一个选项,因为它必须在代码中出现)。首先,您需要创建一个HttpHandler来处理它: namespace com.waynehartman.util.web.handl
是否有更好的方法在与Visual Studio 2005相对应的C#中实现JavaScript和CSS gzip(更改IIS不是一个选项,因为它必须在代码中出现)。首先,您需要创建一个HttpHandler来处理它:
namespace com.waynehartman.util.web.handlers
{
[WebService(Namespace = "http://waynehartman.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class HttpCompressor : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// Code for compressing the file and writing it to the HttpResponse
}
public bool IsReusable
{
get { return true; }
}
}
}
然后需要在web.config中添加处理程序映射:
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.css"
type="com.waynehartman.util.web.handlers.HttpCompressor, WayneHartmanUtilitiesLibrary"/>
<add verb="*" path="*.js"
type="com.waynehartman.util.web.handlers.HttpCompressor, WayneHartmanUtilitiesLibrary"/>
</httpHandlers>
</system.web>
</configuration>
您使用的IIS版本是什么?并且完全限定。就我所知,HttpHandler是将多个文件合并到一个文件中,或者类似的东西。@jmpena HttpHandler用于创建对http请求或响应的任何自定义处理。它们的设计目的是让您能够完全完成您正在尝试的操作。好的,我将尝试您的解决方案,但只有一个问题(我是win32开发人员),您将其作为Web服务或可以作为我的网站中的类的代码?@jmpena[webservice]标记在您通过Visual Studio创建新的通用处理程序时默认显示在那里。我不确定移除它们会有什么副作用,因为它们不会伤害你。尝试将http处理程序看作是一个基本的、非专业化的aspx页面。与.NET为您处理页面请求不同,您可以完全控制请求/响应的内容。