0

我发现了一个老板级别的错误,迫使我成为 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
4

1 回答 1

0

好的,所以我想通了。在处理程序映射下,将 OptionsVerbHandler 设置为允许请求限制部分下的所有动词。我将它设置为只允许 OPTIONS 动词,并为 POST 和 GET 创建了额外的处理程序。

更新:

当在带有样式表或图像的文件夹上指定 GETHandler 时,调用图像/样式表时会发生 ProtocolSupportModule 错误。当 dll 的视图上不存在 Gethandler 时,MVC 应用程序会显示动词权限错误。我通过在文件夹级别设置处理程序来解决这个问题。这是一种不好的做法。有没有更好的想法?我确定 MVC 框架应该自动处理这个?

于 2015-02-19T19:38:46.260 回答