C# 为什么我的http响应体突然包含了大量的胡言乱语?

C# 为什么我的http响应体突然包含了大量的胡言乱语?,c#,asp.net-mvc,refactoring,turbine,C#,Asp.net Mvc,Refactoring,Turbine,我正在尝试重构现有的asp.net-mvc web应用程序,并引入mvc turbine。 应用程序按原样工作,但我想让它更易于插拔和维护,以便将来的维护更容易 我想我应该尽量减少重构步骤,所以我引用了MvcTurbine、MvcTurbine.Unity和MvcTurbine.Web 然后,我在global.asax.cs中创建了如下mvcapapplication: Public class MvcApplicatoin : TurbineApplication{ static Mv

我正在尝试重构现有的asp.net-mvc web应用程序,并引入mvc turbine。
应用程序按原样工作,但我想让它更易于插拔和维护,以便将来的维护更容易

我想我应该尽量减少重构步骤,所以我引用了MvcTurbine、MvcTurbine.Unity和MvcTurbine.Web 然后,我在global.asax.cs中创建了如下mvcapapplication:

Public class MvcApplicatoin : TurbineApplication{
    static MvcApplication(){
        ServiceLocatorManager.SetLocatorProvider(() => new UnityServiceLocator());
        Application_Start();
    }
    <snip of all code that hasn't changed/>
}
公共类MVCAPplication:TurbineApplication{
静态mvcapapplication(){
ServiceLocatorManager.SetLocatorProvider(()=>new UnityServiceLocator());
应用程序启动();
}

我想说的是,不知何故,您将输出压缩了两次。请检查Response.Filter和HttpModules,它们是在从.cctor调用应用程序_Start()和从ASP.NET引擎调用它之后加载的


或者,请确保已安装克林贡字体;-)

我想说,不知何故,您将gzip输出两次。请检查响应。在从.cctor调用应用程序启动()和从ASP.NET引擎调用应用程序启动()后加载的筛选器和HttpModules


或者,确保已安装克林贡字体;-)

涡轮机不会向应用程序添加任何压缩,因此这是另一个问题

但是,对于Application_Start方法,不应该在静态构造函数中调用它

相反,您应该做的是重写启动方法并在此处执行任何逻辑。但是,这不会授予您为应用程序配置的IServiceLocator的访问权限。如果您需要IServiceLocator,请重写PostServiceLocator获取方法,可以使用ServiceLocator属性对其进行访问


我希望这会有所帮助!

Turbine不会给您的应用程序添加任何压缩,所以这是另一个问题

但是,对于Application_Start方法,不应该在静态构造函数中调用它

相反,您应该做的是重写启动方法并在此处执行任何逻辑。但是,这不会授予您为应用程序配置的IServiceLocator的访问权限。如果您需要IServiceLocator,请重写PostServiceLocator获取方法,可以使用ServiceLocator属性对其进行访问


我希望这会有帮助!

是的,这也是我的第一个想法。因此,我删除了对压缩模块的引用,并从web.config中删除了所有跟踪。没有任何效果:更改后清理了缓存?再次检查。还删除了所有存储箱我搜索了整个解决方案中的“compres”,发现了一个被遗忘和未使用的存储箱(find usages没有返回任何东西)我删除的HttpCompressionModule.cs。与删除我正在使用的实际压缩模块(blowery.Web.HttpCompress)的所有引用相结合是的。检查响应它仍然是gzip。我唯一的猜测是turbine已经在某处添加了压缩。是的,这也是我的第一个想法。因此,我删除了对压缩模块的引用,并从web.config中删除了所有跟踪。无效:更改后清理了缓存?再次检查。还删除了我搜索的所有容器d我的整个“压缩”解决方案,发现了一个废弃的未使用的(find usages没有返回任何东西)HttpCompressionModule.cs,我删除了它。再加上删除了对我正在使用的实际压缩模块的所有引用(blowery.Web.HttpCompress)做了这个把戏。检查响应它仍然是gzip。我唯一的猜测是turbine已经在某处添加了压缩。感谢您提供的信息。虽然我还没有找到更好的方法,但我认为调用应用程序_start不是正确的方法。然而,我正试图以很小的步骤进行重构,因为impro涉及到很多工作这是我的第一个大项目之一,现在我正在为次优设计选择付出代价。不过,我会一直使用你的建议:)谢谢你提供的信息。虽然我还没有找到更好的方法,但我认为调用应用程序_start不是正确的方法。不过,我正在尝试以小步骤进行重构,因为改进我的体系结构涉及到很多工作。这是我的第一个大项目之一,现在我正在为次优设计选择付出代价s、 不过,我会一直使用你的建议:)