有没有办法在集成的应用程序池中运行wcf3.5 rest api

时间:2016-08-01 15:54:51

标签: asp.net wcf

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

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

  

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

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

<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="" />

1 个答案:

答案 0 :(得分: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版本。根据您现有的处理程序注册,第一个应该是正确的。