我发现了一个boss级错误,迫使我成为stackoverflow的活跃成员。
我正在托管一个MVC应用程序,并且在根级别它可以工作,但是CSS和图像都失败了。即使直接通过URL访问图像,我也会收到以下错误:
无法加载类型'ProtocolSupportModule'。
描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Web.HttpException:无法加载类型'ProtocolSupportModule'。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[HttpException (0x80004005): Could not load type 'ProtocolSupportModule'.] System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +12510809 System.Web.Configuration.HandlerFactoryCache.GetTypeWithAssert(String type) +47 System.Web.Configuration.HandlerFactoryCache.GetHandlerType(String type) +18 System.Web.Configuration.HandlerFactoryCache..ctor(String type) +27 System.Web.HttpApplication.GetFactory(String type) +94 System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +375 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288
答案 0 :(得分:0)
好的,所以我想出来了。 在处理程序映射下,OptionsVerbHandler被设置为允许请求限制部分下的所有谓词。我将其设置为仅允许OPTIONS动词并为POST和GET创建额外的处理程序。
更新:
在具有样式表或图像的文件夹上指定GETHandler时,调用图像/样式表时会发生ProtocolSupportModule错误。当dll的视图中没有Gethandler时,MVC应用程序会显示动词权限错误。 我通过在文件夹级别设置处理程序来解决这个问题。这是一种不好的方式。还有更好的想法吗?我确定MVC框架应该自动处理这个?