0

我想在 asp.net 配置中为我的 Web 应用程序设置应用程序名称,但对我没有任何作用。它总是说“应用程序:/”。我花了好几个小时来寻找答案。我确信这很简单(一如既往)。有人可以帮忙指出吗?

这是我的 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>

4

2 回答 2

3

允许配置 ASP.NET 成员资格、角色和配置文件的 ASP.NET 配置网站使用 ApplicationURL 查询字符串参数中的值在网站上显示。(即应用程序:/CoolApp)大多数人只有一个反斜杠字符。您可以通过将项目属性中的 Web 应用程序虚拟路径参数设置为除 / 以外的其他值来更改此设置,无论您放在那里的任何内容都将在查询字符串中使用。

  1. 始终在 web.config 中为您的角色提供者设置 applicationName

    添加名称="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="mySecurityDB" applicationName="/CoolApp"/>

  2. 更改项目设置中的 Virtual path: 参数

于 2012-02-11T19:01:33.253 回答
1

也必须更改虚拟路径,提供程序元素中的应用程序名称属性是不够的。

您可以通过在 Visual Studio 中打开项目的属性来更改虚拟路径,然后选择左侧的 Web 选项卡。然后在右侧窗格中选择默认情况下未选中的“使用 Visual Studio 开发服务器”单选按钮,然后您才能更改虚拟路径。默认为“使用本地 IIS Web 服务器”,因此为 / 应用程序名称。

于 2014-02-07T18:43:21.870 回答