0

Webアプリのアプリケーション名をasp.net構成で設定したいのですが、何も機能しません。常に「Application:/」と表示されます。私は答えを探すのにかなりの時間を費やしました。私はそれが(いつものように)単純なものだと確信しています。誰かがそれを指摘するのを手伝ってもらえますか?

これが私の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構成Webサイトは、ApplicationURLクエリ文字列パラメーターの値を使用してWebサイトに表示します。(例:アプリケーション:/ CoolApp)ほとんどの人はバックスラッシュ文字しか持っていません。これを変更するには、プロジェクトプロパティのWebアプリケーションの仮想パスパラメータを/以外に設定します。そこに入力したものはすべて、クエリ文字列で使用されます。

  1. ロールプロバイダーのweb.configで常にapplicationNameを設定します

    name = "AspNetSqlRoleProvider" type = "System.Web.Security.SqlRoleProvider" connectionStringName = "mySecurityDB" applicationName = "/CoolApp"/>を追加します

  2. プロジェクト設定の仮想パス:パラメーターを変更します

于 2012-02-11T19:01:33.253 に答える
1

仮想パスも変更する必要があります。プロバイダー要素のアプリケーション名属性では不十分です。

Visual Studioでプロジェクトのプロパティを開き、左側の[Web]タブを選択して、変更できる仮想パス。次に、右側のウィンドウで[Visual Studio Development Serverを使用する]ラジオボタンを選択します。このラジオボタンはデフォルトでは選択されておらず、仮想パスを変更できます。デフォルトは「ローカルIISWebサーバーを使用する」であるため、/アプリケーション名です。

于 2014-02-07T18:43:21.870 に答える