4

私は少し調査を行い、これに遭遇しました:http: //msdn.microsoft.com/en-us/library/ms228245.aspx

したがって、私がそれを正しく理解している場合、最終的にこれが行っているのは、プロジェクト内で使用するためのいくつかの.dllを含めることです。

<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>

違いは、configSectionsの方法で、後でwebconfig(または他のconfig)でxml要素として「name」を作成することでいくつかのパラメーターを設定できることだと思います。これは正しいですか、それとも何かが足りませんか?

また、Webサイトのweb.configからconfigSectionsを削除すると、正常に実行されることに気付きました。具体的には、次のconfigSectionsです。

<configSections>
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
        <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
            <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
            <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
                <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere"/>
                <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
                <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
            </sectionGroup>
        </sectionGroup>
    </sectionGroup>
</configSections>

configSectionsもデフォルトでmachine.configで定義されているため、これを実行しても実行できることをどこかで読んでいました。では、なぜWebサイトのweb.configで再度定義するのでしょうか。いくつかのカスタム設定でmachine.configをオーバーライドすると思いますか?machine.configファイルのデフォルトの内容を判断する方法はありますか?

4

3 に答える 3

1

あなたが正しいです。ASP.NET構成セクションは。内で定義されますmachine.config。これは、各構成ファイルがその親をオーバーライドする階層です。machine.configおよびルートweb.configファイルは、次のディレクトリにあります。

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG
于 2010-01-15T17:33:54.247 に答える
0

Webサイトの動作を変更するために、再度定義します。

複数の異なるWebサイトを実行していて、特定のセクションに対してそれらを異なる方法で構成したいとします。これが、それらがweb.configに存在する理由です。

于 2010-01-15T16:56:58.070 に答える
0

すべての.NETFrameworkアプリケーションは、systemroot \ Microsoft .NET \ Framework \ versionNumber \ CONFIG\Machine.configという名前のファイルから基本的な構成設定とデフォルトを継承します。Machine.configファイルは、サーバー全体の構成設定に使用されます。これらの設定の一部は、階層の下位にある構成ファイルではオーバーライドできません。

.NETクライアントアプリケーション(コンソールおよびWindowsアプリケーション)は、ApplicationName.configという名前の構成ファイルを使用して、継承された設定を上書きします。ASP.NETアプリケーションは、Web.configという名前の構成ファイルを使用して、継承された設定を上書きします。

ASP.NET構成階層のルートは、ルートWeb.configファイルと呼ばれるファイルであり、Machine.configファイルと同じディレクトリにあります。ルートWeb.configファイルは、Machine.configファイルのすべての設定を継承します。ルートWeb.configファイルには、特定のバージョンの.NETFrameworkを実行するすべてのASP.NETアプリケーションに適用される設定が含まれています。各ASP.NETアプリケーションはルートWeb.configファイルからデフォルトの構成設定を継承するため、デフォルト設定をオーバーライドする設定に対してのみWeb.configファイルを作成する必要があります。

ASP.NET構成ファイルの階層と継承を参照してください

于 2010-09-13T21:45:22.833 に答える