ASP.NET - ไฟล์ Web.config

ASP.NET - ไฟล์ Web.config
Web.confg ไฟล์นี้จะเป็นไฟล์ประเภท XML (eXtensible Markup Language) ใช้สำหรับเก็บค่า Configuration สำหรับ ASP.NET Web Application โดยแม้ว่าเรา Deploy Web Application แล้ว แต่เราสามารถปรับแก้ไขไฟล์นี้ได้อยู่ เช่น ใช้เก็บค่าของ Database Server หลังจากทำการ Testing เสร็จเรียบร้อย ก็สามารถย้ายขึ้น Production Server ได้เพียงแค่แก้ Configuration ในส่วนนี้ก็จะทำให้ทำงานได้ใน Environment ที่เปลี่ยนไปได้
สามารถจัดเก็บ Connection String, App Setting, Security ได้
โครงสร้างของไฟล์ Web.config
<configuration>
<system.web>
<customErrors mode="off" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
ตัวอย่างไฟล์ Web.Config
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
Web.confg ไฟล์นี้จะเป็นไฟล์ประเภท XML (eXtensible Markup Language) ใช้สำหรับเก็บค่า Configuration สำหรับ ASP.NET Web Application โดยแม้ว่าเรา Deploy Web Application แล้ว แต่เราสามารถปรับแก้ไขไฟล์นี้ได้อยู่ เช่น ใช้เก็บค่าของ Database Server หลังจากทำการ Testing เสร็จเรียบร้อย ก็สามารถย้ายขึ้น Production Server ได้เพียงแค่แก้ Configuration ในส่วนนี้ก็จะทำให้ทำงานได้ใน Environment ที่เปลี่ยนไปได้
สามารถจัดเก็บ Connection String, App Setting, Security ได้
โครงสร้างของไฟล์ Web.config
<configuration>
<system.web>
<customErrors mode="off" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
ตัวอย่างไฟล์ Web.Config
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
</profile>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>