gpt4 book ai didi

asp.net - 无法停止 web.config 继承

转载 作者:行者123 更新时间:2023-12-02 03:56:44 29 4
gpt4 key购买 nike

我在 IIS 的网站内创建了一个应用程序。

我的应用程序用于托管运行 .Net 4.0 代码的 WCF 服务端点(创建它的网站正在运行 .Net 2.0)

当我加载这个服务端点时,我收到一个错误,指出缺少模型和处理程序(因为根网站在 web.config 中定义了它们)。

我尝试在以下指令中包装我的 system.websystem.serviceModel:

  <location path="." inheritInChildApplications="false">
<system.web>
...
</location>

但处理程序和模块继续尝试加载。

接下来,我尝试清除模块和处理程序。

<httpModules>
<clear />
</httpModules>
<httpHandlers>
<clear />
</httpHandlers>

这导致了以下错误:

No http handler was found for request type 'GET'

接下来我尝试手动为 .svc 添加必要的处理程序

     <add 
verb="*"
path="*.svc"
type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

这导致:

Could not load type 'System.ServiceModel.Activation.HttpHandler' from assembly 'System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

在 IIS 中,我的应用程序设置为 .Net 4.0。我没有看到直接在应用程序池上指定框架的方法(它只有 Recycling、Performance、Health、Identity 选项卡)。

我需要做的就是在 2.0 网站中添加这个运行 .net 4.0 的虚拟目录/应用程序,并托管一个 WCF 端点。

我的 4.0 应用程序在单独的应用程序池下运行。

添加整个 web.config

<?xml version="1.0"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.web>
<compilation debug="true" />
<authentication mode="Windows" />
<httpModules>
<clear />
</httpModules>
<httpHandlers>
<clear />
<add verb="*" path="*.svc"
type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</httpHandlers>
</system.web>
<system.serviceModel>
<bindings>
<!--<basicHttpBinding>
<binding name="extAcctCustMapBinding" maxBufferSize="1000000"
maxReceivedMessageSize="1000000" />
</basicHttpBinding>-->
</bindings>

<behaviors>
<serviceBehaviors>
<behavior name="DebugBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>

<services>
<service behaviorConfiguration="DebugBehavior" name="MyService">
<endpoint binding="basicHttpBinding" name="MyService"
contract="IMyService" />
</service>
</services>

<serviceHostingEnvironment multipleSiteBindingsEnabled="false" />
</system.serviceModel>

<system.webServer>
<modules runAllManagedModulesForAllRequests="false"/>
</system.webServer>
</location>
</configuration>

最佳答案

您不能让 .NET 4.0 作为 .NET 2.0 应用程序中的嵌套应用程序运行。

关于asp.net - 无法停止 web.config 继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12286151/

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