【问题标题】:Is there a way to run wcf3.5 rest api in an integrated app pool有没有办法在集成的应用程序池中运行 wcf3.5 rest api
【发布时间】:2016-08-01 15:54:50
【问题描述】:

是否有其他方法可以在 IIS 集成应用程序池中运行我的 WCF 3.5 Rest API?

这是事件查看器中的消息:

在应用程序中发出了映射到 aspnet_isapi.dll 的请求 在集成 .NET 模式下运行的池。 aspnet_isapi.dll 只能是 在经典 .NET 模式下运行时使用。请指定 处理程序映射上的 preCondition="ISAPImode" 使其仅在 以经典 .NET 模式运行的应用程序池,或移动 应用程序到另一个以经典 .NET 模式运行的应用程序池 为了使用这个处理程序映射。

这是我的 web.config 中 system.webServer > handlers 下的处理程序条目:

<add name="svc-ISAPI-2.0_64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="" />

【问题讨论】:

    标签: asp.net wcf


    【解决方案1】:

    您可以尝试将处理程序注册更改为以下之一:

    <add name="svc-Integrated" path="*.svc" verb="*"
     type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
     preCondition="integratedMode,runtimeVersionv2.0" />
    
    <add name="svc-Integrated-4.0" path="*.svc" verb="*"
     type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
     preCondition="integratedMode,runtimeVersionv4.0" />
    

    使用哪个 ono 取决于在 Application Pool 上设置的 .Net Framework 版本。根据您现有的处理程序注册,第一个应该是正确的。

    【讨论】:

    • 非常感谢!您能否再解释一下我的情况发生了什么以及如何解决它?如果没有,不用担心,我理解。再次感谢您!
    猜你喜欢
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2019-03-28
    相关资源
    最近更新 更多