Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der ASP.NET Web.config-Konfigurationsdatei
Analyse:
Konfigurationsinformationen der .NET-Webanwendung (z. B. die am häufigsten verwendete Authentifizierungsmethode zum Festlegen der ASP.Net-Webanwendung), die in jedem Verzeichnis der Anwendung angezeigt werden können. Wenn Sie über VB.NET eine neue Webanwendung erstellen, wird im Stammverzeichnis standardmäßig automatisch eine Standarddatei Web.config erstellt, einschließlich der Standardkonfigurationseinstellungen, und alle Unterverzeichnisse erben ihre Konfigurationseinstellungen. Wenn Sie die Konfigurationseinstellungen eines Unterverzeichnisses ändern möchten, können Sie im Unterverzeichnis eine neue Web.config-Datei erstellen. Es kann zusätzlich zu den vom übergeordneten Verzeichnis geerbten Konfigurationsinformationen Konfigurationsinformationen bereitstellen und auch im übergeordneten Verzeichnis definierte Einstellungen überschreiben oder ändern.
Änderungen an der Web.config-Datei während der Laufzeit werden wirksam, ohne dass der Dienst neu gestartet werden muss (Hinweis: Ausnahme im Abschnitt 8b8cd1dbb5a33604e3cb18bedb4a3ff2). Natürlich ist die Datei Web.config erweiterbar. Sie können neue Konfigurationsparameter anpassen und Konfigurationsabschnittshandler schreiben, um sie zu verarbeiten.
1. web.config-Konfigurationsdatei (Standardkonfigurationseinstellungen)
Alle folgenden Codes sollten der Einfachheit halber weggelassen werden Dieses XML-Tag.
< configuration> < system.web> < /system.web> < /configuration>
1. 9c05ea807d27499a94cf7ee1bbb64fa5 Funktion: ASP.NET-Authentifizierungsunterstützung konfigurieren (für Windows, Forms, PassPort, Keine). Dieses Element kann nur auf Computer-, Site- oder Anwendungsebene deklariert werden. Das Element 80d2680783d84d323c0b46b6b9a1b282 muss mit dem Abschnitt e4313658e6823a84c0d534d9c597317f verwendet werden.
Das Element loginUrl stellt den Namen der Anmeldewebseite dar und name stellt den Cookie-Namen dar.
< authentication mode="Forms"> < forms loginUrl="logon.aspx" name=".FormsAuthCookie"/> < /authentication>2. 823a49d8620fbc4d4ca1cb1cb0d0c08f Abschnitt
Funktion: Steuern des Client-Zugriffs auf URL-Ressourcen (z. B. Ermöglichen des Zugriffs für anonyme Benutzer). Dieses Element kann auf jeder Ebene deklariert werden (Computer, Site, Anwendung, Unterverzeichnis oder Seite). Erforderlich in Verbindung mit dem Abschnitt 9c05ea807d27499a94cf7ee1bbb64fa5
Beispiel: Das folgende Beispiel verbietet den Zugriff durch anonyme Benutzer
Hinweis: Sie können user.identity.name verwenden, um den aktuellen authentifizierten Benutzernamen abzurufen. Sie können web.Security.FormsAuthentication verwenden Die Methode leitet einen authentifizierten Benutzer auf die Seite weiter, die der Benutzer gerade angefordert hat.
< authorization> < deny users="?"/> < /authorization>3. 0dbd5d7bf6ec22f4007160b9b3f10181 Abschnitt
Funktion: Konfigurieren Sie alle von ASP.NET verwendeten Kompilierungseinstellungen. Das Standard-Debug-Attribut ist „True“. Es sollte auf True gesetzt werden, nachdem das Programm kompiliert und zur Verwendung bereitgestellt wurde (detaillierte Anweisungen finden Sie in der Datei Web.config, Beispiele werden hier weggelassen)
Beispiel: Wenn ein Fehler auftritt, springen Sie von der Webseite zu einer benutzerdefinierten Fehlerseite.
Das Element defaultRedirect stellt den Namen der angepassten Fehler-Webseite dar. Das Moduselement bedeutet: benutzerdefinierte (freundliche) Informationen für Benutzer anzeigen, die nicht auf dem lokalen Webserver ausgeführt werden.
5. ed4fc545903c54f8016479f974509b32 Funktion: ASP.NET HTTP-Laufzeiteinstellungen konfigurieren. Dieser Abschnitt kann auf Computer-, Standort-, Anwendungs- und Unterverzeichnisebene deklariert werden.
< customErrors defaultRedirect="ErrorPage.aspx" mode="RemoteOnly"> < /customErrors>
1b1fca1cca17ff7831eaf225cb6f0c6e3831d64b9ff08109d75152437feda733
6. 98a781c16ebd9970b20c936d9f199ebe
Funktion: Identifiziert seitenspezifische Konfigurationseinstellungen (z. B. ob der Sitzungsstatus aktiviert werden soll, der Ansichtsstatus, ob Benutzereingaben erkannt werden sollen usw.). 98a781c16ebd9970b20c936d9f199ebe können auf Computer-, Site-, Anwendungs- und Unterverzeichnisebene deklariert werden.
Beispiel: Es wird nicht erkannt, ob der vom Benutzer im Browser eingegebene Inhalt potenziell gefährliche Daten enthält (Hinweis: Dieses Element ist standardmäßig auf Erkennung eingestellt. Wenn Sie die Nichterkennung verwenden, müssen Sie die Benutzereingaben verschlüsseln oder überprüfen). Der verschlüsselte Ansichtsstatus wird überprüft, wenn die Seite vom Client zurückgesendet wird, um sicherzustellen, dass der Ansichtsstatus nicht auf der Clientseite manipuliert wurde. (Hinweis: Dieses Element wird standardmäßig nicht überprüft)
2d592c1f8cd4de595cb64b2b65812dea
7, < ; sessionState>
Funktion: Sitzungsstatuseinstellungen für die aktuelle Anwendung konfigurieren (z. B. festlegen, ob der Sitzungsstatus aktiviert werden soll und wo der Sitzungsstatus gespeichert werden soll).
Beispiel:
< sessionState mode="InProc" cookieless="true" timeout="20"/> < /sessionState>
注:
mode="InProc"表示:在本地储存会话状态(你也可以选择储存在远程服务器或SAL服务器中或不启用会话状态)
cookieless="true"表示:如果用户浏览器不支持Cookie时启用会话状态(默认为False)
timeout="20"表示:会话可以处于空闲状态的分钟数
8、aaee0798d61f0c1688dd8c23d7e1cc45
作用:配置 ASP.NET 跟踪服务,主要用来程序测试判断哪里出错。
示例:以下为Web.config中的默认配置:
ee811ff3d61828767fb5c6ffab003cce
注:
enabled="false"表示不启用跟踪;requestLimit="10"表示指定在服务器上存储的跟踪请求的数目
pageOutput="false"表示只能通过跟踪实用工具访问跟踪输出;
traceMode="SortByTime"表示以处理跟踪的顺序来显示跟踪信息;
localOnly="true" 表示跟踪查看器 (trace.axd) 只用于宿主 Web 服务器;
9、1dcc4c920d99d48189de261dfba48f61
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2147483648"/> </requestFiltering> </security> </system.webServer>
二、自定义Web.config文件配置节
自定义Web.config文件配置节过程分为两步。
一是在在配置文件顶部 f0c345cb8609a7447fbc7220c375eedc 和 107179cec9ad9ec61c47a52cad36d19f标记之间声明配置节的名称和处理该节中配置数据的 .NET Framework 类的名称。
二是在 f0c345cb8609a7447fbc7220c375eedc 区域之后为声明的节做实际的配置设置。
示例:创建一个节存储数据库连接字符串
< configuration> < configSections> < section name="appSettings" type="System.Configuration.NameValueFileSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> < /configSections> < appSettings> < add key="scon" value="server=a;database=northwind;uid=sa;pwd=123"/> < /appSettings> < system.web> ...... < /system.web> < /configuration>
三、访问Web.config文件
你可以通过使用ConfigurationSettings.AppSettings 静态字符串集合来访问 Web.config 文件示例:获取上面例子中建立的连接字符串。
四、创建Web.config文件
1.在“解决方案资源管理器”中,单击“刷新”图标以确认应用程序还没有 Web.config 文件。
如果已使用网站管理工具或某些其他方式来配置应用程序,则可能已自动创建了 Web.config 文件。单击“刷新”更新文件列表。
2.在“解决方案资源管理器”中,右击网站名称,然后单击“添加新项”。
3.在“模板”窗口中,单击“Web 配置文件”
“名称”文本框中的文件名应为Web.config。可以为该文件提供其他名称,不过这是默认名称。.config 文件扩展名可防止 ASP.NET 下载相应文件。
4.单击“添加”创建该文件,然后将其打开进行编辑。
该文件包含本主题后面“示例”部分中显示的代码,并具有一些初始默认值。应用程序从 %SystemRoot%\Microsoft.NET\Framework\725e7c8a0cf2bfbdc143d67566e91876\CONFIG 目录下的 Machine.config 和 Web.config 文件继承所有配置设置,但在此处看不到这些默认设置。如果要重写继承的默认设置或添加 httpHandlers 元素(ASP.NET 设置架构) 等集合元素,则只需创建应用程序级别和目录级别的 Web.config 文件。
若要查看当前应用程序的所有配置设置,可以运行主题如何:以编程方式查看继承的配置设置和本地配置设置中包含的代码。也可以查看 %SystemRoot%\Microsoft.NET\Framework\725e7c8a0cf2bfbdc143d67566e91876\CONFIG 目录下的Machine.config.comments 或 Web.config.comments 文件(这两个文件也包含有用的注释),但这两个文件将不会包含所有运行时设置,请参见如何:以编程方式查看继承的配置设置和本地配置设置。
5.如果更改了 Web.config 文件,则保存该文件。
保存 Web.config 文件会重新启动应用程序。也可以选择使用单个节元素的 configSource 属性指向某个辅助配置文件,更改辅助配置文件不会导致应用程序重新启动。有关更多信息,请参见节元素所继承的常规属性中的 configSource。
Web.config是asp.net应用程序中一个很重要的配置文件,通过Web.config文件可以方便我们进行开发和部署asp.net应用程序。通过本文的介绍,希望对你有帮助,供参考。
更多ASP.NET Web.config配置文件详解相关文章请关注PHP中文网!