gpt4 book ai didi

asp.net-mvc - ServiceStack.Factor 在其模块列表中有一个错误模块 "ManagedPipelineHandler"

转载 作者:行者123 更新时间:2023-12-03 17:46:19 25 4
gpt4 key购买 nike

我已经使用 ServiceStack 编写了一个 API 来从我的 SharePoint 文档库中检索文档,并且我正在使用 MVC 来输出结果。

但是,当我尝试运行我的应用程序时,我收到一个 HTTP 错误:

500.21 ServiceStack.Factor has a bad module "ManagedPipelineHandler" in its module list error



我在 IIS 中以经典模式运行我的应用程序,因为我需要使用模拟来对我的 SharePoint 服务器进行身份验证。

在经典模式下使用 ServiceStack 似乎有困难。

如何解决此错误?

我希望这是有道理的。

任何帮助将不胜感激

这是我的配置:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add path="*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" preCondition="classicMode" resourceType="Unspecified" allowPathInfo="true" />
</handlers>
</system.webServer>

更新:

在我的开发机器上以不同用户身份运行我的应用程序工作正常问题似乎是 IIS 和 ASP.NET 开发服务器之间的差异

最佳答案

我不认为经典模式可以处理路由配置。如此处所述 - http://www.asp.net/mvc/tutorials/older-versions/deployment/using-asp-net-mvc-with-different-versions-of-iis-cs - 在经典模式下使用 IIS 7.0 或使用映射到 ASP.NET 框架(aspx、axd、ashx)的文件扩展名时,您确实需要执行其他配置。

我能够使用以下配置获得针对 IIS 7 的经典模式

web.config(部分并使用 preCondition="integratedMode"):

<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add path="servicestack*" name="ServiceStack.Factory" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack"
verb="*" preCondition="integratedMode" />
</handlers>
</system.webServer>

我在路由中添加了 .aspx 以访问 ASP.NET(我想您也可以使用上面链接中列出的其他解决方案)
Routes
.Add<Hello>("/hello.aspx")
.Add<Hello>("/hello.aspx/{Name}");

我可以向 http://localhost/hello.aspx and http://localhost/hello.aspx?name=Test 提出请求

更新 1

事实证明,在经典模式下运行时,我可以删除所有 IIS 7 ( <system.webServer> ) 元素。我的整个 web.config 如下。什么是 路径 <httpHandlers> 的属性元素?也许你得到一个 404 因为 路径 是不同的?
<?xml version="1.0"?>
<configuration>
<system.web>
<httpHandlers>
<add path="servicestack*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*"/>
</httpHandlers>
<compilation debug="true"/>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
</system.webServer>
</configuration>

评论答案:

因此,这在功能上是否等同于您的示例中的 path="api*"?

没有。见这里: http://msdn.microsoft.com/en-us/library/b6x6shw7%28v=vs.100%29.aspx
在此处查看第 2 节: http://www.servicestack.net/ServiceStack.Hello/ <httpHandler>元素具有自定义路径的路径属性。

此外,在 Visual Studio 中使用 IIS Express 作为开发服务器。您应该能够模拟标准开发服务器中不会​​出现的 IIS 7 经典模式问题。 http://www.microsoft.com/web/gallery/install.aspx?appid=IISExpress

关于asp.net-mvc - ServiceStack.Factor 在其模块列表中有一个错误模块 "ManagedPipelineHandler",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15064932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com