我只是想知道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