Мне просто интересно
, почему команда asp.net выбрала / в качестве значения по умолчанию имени приложения Членской роли, а не имя проекта, которое имеет смысл?
Кроме того, приложение не может быть развернуто как корневое приложение.Это означает, что / больше не подходит.
Редактировать 1:
Например: сначала я создаю проект A и развертываю его.Позже я создам еще один проект B и разверну его.Если в обоих проектах используется значение по умолчанию, они все еще работают, но будет сложно определить, какие пользователи приходят из каждого проекта.
Для меня лучше, если по умолчанию установлено имя проекта.
Редактировать 2:
Я говорю об атрибуте applicationName, сгенерированном Visual Studio в Web.config.Почему бы не использовать имя проекта вместо / по умолчанию?
<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>
РЕДАКТИРОВАТЬ 3:
После создания двух приложений (т. Е. Одно в качестве корневого идругое как дочернее приложение), и оба имеют одинаковое имя-приложения, установленное на /, оба приложения используют один и тот же идентификатор приложения.Это означает, что косая черта не имеет ничего общего с деревом доменов сайта.Моя путаница была решена.Итак ... почему Visual Studio по умолчанию установил его в / (что меня смущает)?
РЕДАКТИРОВАТЬ 4:
У меня есть два приложения.Один в качестве корневого приложения, а другой в качестве дополнительного приложения в первом.Оба используют applicationName = "/".Я получил результат в базе данных следующим образом: Так что означает /?Если не имеет значения, почему VS выбрал это запутанное имя, а не имя проекта?
РЕДАКТИРОВАТЬ 5:
Из этого article , я сделаю сводку:
- Если мы удалим атрибут applicationName из web.config для обоих приложений, ApplicationName, сгенерированный в базе данных для корня, будет "/", аApplicationName, сгенерированное в базе данных для дополнительного приложения, будет иметь вид "/subappvirtualdir".
- Если мы оставим для applicationName значение по умолчанию" / "для обоих приложений, и корневое приложение, и дополнительное приложение получат одинаковое ApplicatonName"/" генерируется в базе данных.
- Если мы изменим applicationName на «любое имя, которое вы хотите» для обоих приложений, для ApplicationName, сгенерированного в базе данных, будет установлено «любое имя, которое вы хотите» для обоих приложений.
Спасибо Rockin за ссылку выше!