簡體   English   中英

在ASP.NET 3.5網站子文件夾下部署ASP.NET MVC 3應用程序

[英]Deploying ASP.NET MVC 3 Application Under ASP.NET 3.5 Web Site Sub Folder

我在IIS 7,ASP.NET 3.5中有一個很好的網站。 我剛剛在此網站服務器上安裝了.NET 4.0。 現在,我在此網站上使用Asp.Net 4.0 AppPool添加了一個虛擬目錄(是的,我已將其轉換為Application)。 當我訪問該虛擬目錄時,

There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined

為什么此虛擬目錄應用程序嘗試使用根網站的web.config?

正如@BNL所說,我引用了網站的答案,

步驟1(僅限IIS 7或IIS 7.5)

僅在運行IIS 7或IIS 7.5(包括Windows Vista,Windows Server 2008,Windows 7和Windows Server 2008 R2)的操作系統上才需要執行此步驟。

將父應用程序(運行ASP.NET 2.0或ASP.NET 3.5的應用程序)的Web.config文件中的configSections定義移動到.NET Framework 2.0的根Web.config文件中。 當IIS 7和IIS 7.5本機配置系統合並配置文件的層次結構時,它將掃描configSections元素。 將configSections定義從父Web應用程序的Web.config文件移動到根Web.config文件可有效地將元素隱藏在針對子ASP.NET 4應用程序的配置合並過程中。

在32位操作系統或32位應用程序池上,ASP.NET 2.0和ASP.NET 3.5的根Web.config文件通常位於以下文件夾中:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG

在64位操作系統或64位應用程序池上,ASP.NET 2.0和ASP.NET 3.5的根Web.config文件通常位於以下文件夾中:

C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG

如果在64位計算機上同時運行32位和64位Web應用程序,則必須將configSections元素上移到32位和64位系統的根Web.config文件中。

當您將configSections元素放在Web.config根文件中時,請將該部分立即粘貼到配置元素之后。 下面的示例顯示了元素移動完成后,根Web.config文件的頂部應該是什么樣子。

注意在以下示例中,為了便於閱讀,對行進行了包裝。

<?xml version="1.0" encoding="utf-8"?>
<!-- The root web configuration file -->
<configuration>
  <configSections>
    <sectionGroup name="system.web.extensions"
        type="System.Web.Configuration.SystemWebExtensionsSectionGroup, 
      System.Web.Extensions, Version=3.5.0.0, Culture=neutral,  
      PublicKeyToken=31BF3856AD364E35">

      <sectionGroup name="scripting"
        type="System.Web.Configuration.ScriptingSectionGroup, 
        System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
        PublicKeyToken=31BF3856AD364E35">

        <section name="scriptResourceHandler"
          type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, 
          System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
          PublicKeyToken=31BF3856AD364E35" requirePermission="false"
          allowDefinition="MachineToApplication" />

        <sectionGroup name="webServices"
          type="System.Web.Configuration.ScriptingWebServicesSectionGroup,
          System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
          PublicKeyToken=31BF3856AD364E35">

          <section name="jsonSerialization"
            type="System.Web.Configuration.ScriptingJsonSerializationSection, 
            System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
            PublicKeyToken=31BF3856AD364E35" requirePermission="false"
            allowDefinition="Everywhere" />

          <section name="profileService"
            type="System.Web.Configuration.ScriptingProfileServiceSection, 
            System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
            PublicKeyToken=31BF3856AD364E35" requirePermission="false"
            allowDefinition="MachineToApplication" />
          <section name="authenticationService"
            type="System.Web.Configuration.ScriptingAuthenticationServiceSection, 
          System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
          PublicKeyToken=31BF3856AD364E35" requirePermission="false"
            allowDefinition="MachineToApplication" />

          <section name="roleService"
            type="System.Web.Configuration.ScriptingRoleServiceSection, 
          System.Web.Extensions, Version=3.5.0.0, Culture=neutral, 
          PublicKeyToken=31BF3856AD364E35" requirePermission="false"
            allowDefinition="MachineToApplication" />

        </sectionGroup>
      </sectionGroup>
    </sectionGroup>
  </configSections>

步驟2(所有版本的IIS)

無論ASP.NET 4子Web應用程序是在IIS 6上還是在IIS 7(或IIS 7.5)上運行,都需要執行此步驟。

在運行ASP.NET 2或ASP.NET 3.5的父Web應用程序的Web.config文件中,添加一個位置標記,該標記明確指定(對於IIS和ASP.NET配置系統)配置條目僅應用於父Web應用程序。 以下示例顯示了要添加的location元素的語法:

<location path="" inheritInChildApplications="false" >

以下示例顯示了如何使用location標記包裝所有配置部分(從appSettings部分開始,以system.webServer部分結束)。

<location path="" inheritInChildApplications="false" >

完成第1步和第2步后,子ASP.NET 4 Web應用程序將啟動而不會出現錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM