带有 IIS 7.5 的 ServiceStack

Posted

技术标签:

【中文标题】带有 IIS 7.5 的 ServiceStack【英文标题】:ServiceStack with IIS 7.5 【发布时间】:2012-10-23 12:28:17 【问题描述】:

我安装了带有 IIS 7.5 的 Clean Windows Web Server 2008 R2 64 位。我在这个池中创建了 .NET v4.0 应用程序池和网站,并在其中部署了带有 ServiceStack 服务的应用程序。 当我打开 servicestack 页面时,我在网络浏览器中收到此错误消息。:

HTTP Error 500.21 - Internal Server Error
Handler "ServiceStack.Factory" has a bad module "ManagedPipelineHandler" in its module list.

我的应用程序在 Visual Studio 托管的 IIS 服务器中运行。 可能是 IIS 7.5 安装和 servicestack 的问题,还是一些 asp.net 问题?

【问题讨论】:

您在 IIS 中使用的是经典还是集成管道模式? 我都试过了。但默认我使用集成。 【参考方案1】:

1) 确保 web.config 中有以下内容

<!-- Required for IIS 7.0 -->
<system.webServer>
  <handlers>
    <add path="*" 
         name="ServiceStack.Factory"
         type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" 
         verb="*" preCondition="integratedMode"
         resourceType="Unspecified" allowPathInfo="true" />
  </handlers>
</system.webServer>

复制自http://www.servicestack.net/ServiceStack.Hello/

2) 如果仍然无法正常工作,请尝试运行此命令

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

查看 vaclamar 发现的 cmets 中的文章。

【讨论】:

是的,我愿意。应用程序从 Visual Studio 托管的 IIS 运行。 您是否尝试在服务器上的 v4.0.30319 文件夹或您的 asp.net 版本号下运行“aspnet_regiis.exe -i”? 是的,这是我的问题。感谢帮助。现在它正在工作。我也发现了这个很好的article。 在(非服务器)Windows 8 中,您必须在“打开或关闭 Windows 功能”中打开 IIS 下的 ASP.NET

以上是关于带有 IIS 7.5 的 ServiceStack的主要内容,如果未能解决你的问题,请参考以下文章

带有自签名证书的 IIS 7.5 SSL 错误“ssl_error_rx_record_too_long”

无法从另一个 7.5 连接到 IIS 7.5

IIS 7.5 重写错误?无限循环

使用 IIS 7.5 进行表单身份验证 - 未授权

使用 Silverlight 5、IIS 7.5 对 WCF 服务进行 Windows 身份验证

在 IIS7.5 上找不到使用 serviceStack 的 PUT 处理程序