我只是想知道applicationName屬性如何實際工作?
爲什麼asp.net團隊選擇/爲成員角色的應用程序名稱,而不是有意義的項目名稱的默認值?
此外,該應用程序可能不會作爲根應用程序進行部署。這意味着/不再合適。
編輯1:
例如:我創建了一個項目的第一和部署。稍後我創建另一個項目B並部署它。如果兩個項目都使用默認值,它們仍然可以工作,但很難知道哪些用戶來自每個項目。
對我而言,如果默認設置爲項目名稱會更好。
編輯2:
我說的是由Visual Studio Web.config中產生的applicationName屬性。 爲什麼不使用項目名稱而不是/默認情況下?
<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>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="ApplicationServices"
applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider"
type="System.Web.Security.WindowsTokenRoleProvider"
applicationName="/" />
</providers>
</roleManager>
EDIT 3:
產生兩個應用程序之後(即,一個爲根,並且另一個作爲子應用程序)和兩者都具有相同的applicationName設置爲/,兩者應用程序中使用相同的ApplicationID。這意味着斜槓與網站域樹無關。我的困惑已經得到解答。所以...爲什麼Visual Studio默認將它設置爲/(這會讓我感到困惑)?
編輯4:
我有兩個應用程序。一個作爲根應用程序,另一個作爲前者的子應用程序。兩者都使用applicationName =「/」。我在數據庫中得到如下結果:那麼/的含義是什麼?如果沒有意義,爲什麼VS選擇這個令人困惑的名字而不是項目名稱?
編輯5:
從這個article,我會總結:
- 如果我們刪除的web.config applicationName屬性兩個應用程序,生成的應用程序名稱在數據庫中的根將是「/」,並且爲子應用程序在數據庫中生成的ApplicationName將爲「/ subappvirtualdir」。
- 如果我們將applicationName的默認值設置爲兩個應用程序的默認值「/」,則根應用程序和子應用程序都將獲得與數據庫中生成的「/」相同的ApplicatonName。
- 如果我們將兩個應用程序的applicationName更改爲「任意名稱」,則數據庫中生成的ApplicationName將設置爲「任何名稱都適用」這兩個應用程序。
感謝Rockin上面的鏈接!
當你建立一個大型的應用程序,你的DBA將設置這個名字的時候,他/她創建的數據庫,你將建立項目。你的數據庫本身並不知道它被插入什麼項目。如果它足夠大,請在創建數據庫後立即更改名稱。再次,請記住,甚至認爲你「可以」在VS中創建數據庫,並不總是意味着你「應該」,因爲它可以通過aspnet_regsql.exe獨立完成 – 2010-12-20 05:53:38
我編輯了我的答案。 – 2010-12-20 06:09:34
@rockin,你知道/作爲applicationName的含義是什麼嗎?因爲我注意到它與網站域結構無關。 – xport 2010-12-20 07:21:10