Конфигурация asp.net не показывает имя моего приложения - PullRequest
0 голосов
/ 25 мая 2011

Я хочу установить имя приложения для моего веб-приложения в конфигурации asp.net, но у меня ничего не работает.Всегда написано «Приложение: /».Я потратил довольно много часов на поиски ответа.Я уверен, что это что-то простое (как всегда).Может кто-нибудь помочь указать на это?

Вот мой web.config ...

<configuration>
<connectionStrings>
    <clear />
    <add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\AbetEvaluation.mdf;Integrated Security=True;User Instance=True"
 providerName="System.Data.SqlClient" />
    <add name="AbetConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\AbetEvaluation.mdf;Integrated Security=True;User Instance=True"
 providerName="System.Data.SqlClient" />
</connectionStrings>

<system.web>

    <compilation debug="true" targetFramework="4.0" />

    <authentication mode="Forms">
        <forms loginUrl="~/Login.aspx" />
    </authentication>

    <authorization>
        <allow users="*" />
    </authorization>

    <membership defaultProvider="AbetMembershipProvider">
        <providers>
            <clear />
            <add
     name="AbetMembershipProvider"
     type="System.Web.Security.SqlMembershipProvider"
     applicationName="/AbetEvaluation"
     connectionStringName="AbetConnectionString"
     requiresQuestionAndAnswer="false"
     minRequiredPasswordLength="6"
     minRequiredNonalphanumericCharacters="0"
     requiresUniqueEmail="true"
     passwordFormat="Clear"
     />
        </providers>
    </membership>

    <roleManager enabled="true" defaultProvider="AbetRoleProvider">
        <providers>
            <clear />
            <add
     name="AbetRoleProvider"
     type="System.Web.Security.SqlRoleProvider"
     connectionStringName="AbetConnectionString"
     applicationName="/AbetEvaluation"
     />
        </providers>
    </roleManager>

    <siteMap defaultProvider="XmlSiteMapProvider" enabled="true">
        <providers>
            <add
     name="XmlSiteMapProvider"
     description="Default SiteMap provider."
     type="System.Web.XmlSiteMapProvider"
     siteMapFile="Web.sitemap"
     securityTrimmingEnabled="true"
     />
        </providers>
    </siteMap>

</system.web>

Ответы [ 2 ]

3 голосов
/ 11 февраля 2012

Веб-сайт конфигурации ASP.NET, который позволяет настраивать членство, роль и профили ASP.NET, использует значение в параметре строки запроса ApplicationURL для отображения на веб-сайте.(т. е. Application: / CoolApp) Большинство людей с символом обратной косой черты.Это можно изменить, установив для параметра виртуального пути веб-приложений в свойствах проекта значение, отличное от /, и все, что вы там указали, будет использоваться в строке запроса.

  1. Всегда устанавливать applicationNameв файле web.config для поставщиков ролей

    add name = "AspNetSqlRoleProvider" type = "System.Web.Security.SqlRoleProvider" connectionStringName = "mySecurityDB" applicationName = "/ CoolApp" />

  2. Изменить виртуальный путь: параметр в настройках вашего проекта

1 голос
/ 07 февраля 2014

Также необходимо изменить виртуальный путь, атрибута имени приложения в элементах провайдера недостаточно.

Виртуальный путь, который вы можете изменить, открыв Свойства проекта в Visual Studio, а затем выберите вкладку Web слева. Затем на правой панели выберите радиокнопку «Использовать Visual Studio Development Server», которая НЕ выбрана по умолчанию, и только тогда вы можете изменить виртуальный путь. По умолчанию используется «Использовать локальный веб-сервер IIS» и, следовательно, имя / application.

...