8

メンバーシップおよびロールプロバイダーにMySqlConnector6.2.2.0を使用しようとしています。

私が抱えている問題は次のとおり です。プロバイダーを初期化できません。スキーマがないか正しくありません。

<authentication mode="Forms"/>
<roleManager defaultProvider="MySqlRoleProvider"
    enabled="true"
    cacheRolesInCookie="true"
    cookieName=".ASPROLES"
    cookieTimeout="30"
    cookiePath="/"
    cookieRequireSSL="false"
    cookieSlidingExpiration="true"
    cookieProtection="All" >
  <providers>
    <clear />
    <add
        name="MySqlRoleProvider"
        type="MySql.Web.Security.MySQLRoleProvider, MySql.Web,
        Version=6.2.2.0,Culture=neutral, PublicKeyToken=c5687fc88969c44d"   
        connectionStringName="mySQL"
        applicationName="capcafe"
        writeExceptionsToEventLog="true"
    />
  </providers>
</roleManager>
<membership defaultProvider="MySqlMembershipProvider">
   <providers>
      <add connectionStringName="mySQL" 
         applicationName="capcafe" 
         minRequiredPasswordLength="5"
         requiresQuestionAndAnswer="false" 
         requiresUniqueEmail="false"
         minRequiredNonalphanumericCharacters="0" 
         name="MySqlMembershipProvider"
         type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.2.0,
         Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
   </providers>
</membership>

これが気に入らないように見える行です:

Line 57:             type="MySql.Web.Security.MySQLRoleProvider, MySql.Web,
Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"

MySql.WebとMySql.Dataの両方が参照され、ビンにあります。この問題を解決するための助けをいただければ幸いです。

4

5 に答える 5

13

アセンブリへの参照を追加し、autogenerateschema="true"属性を両方に次のように追加します。

<providers>
<remove name="MySQLProfileProvider"/>
<add name="MySQLProfileProvider" autogenerateschema="true" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.2.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/"/>
</providers>

ASP.Net構成ツールを使用します。

于 2010-03-19T17:02:46.027 に答える
3

私の問題は、接続文字列にWebホストのMySQLサーバーのIPアドレスではなく「localhost」が含まれていることでした。

web.configファイルでこれを変更すると、正常に機能したため、web.configファイルを注意深く確認する必要があります。

于 2010-12-22T14:17:26.487 に答える
3

この問題が発生しました。接続文字列にパスワードが含まれていないことが判明しました。接続文字列が正しいことを注意深く確認することから始めるのがよいと思います。

于 2010-04-17T17:06:56.360 に答える
2

私はこれとまったく同じ問題を経験していました。私は自分のサイトをMonoを実行しているLinuxサーバーにデプロイしていたので、結局はケースの問題になりました。autogenerateschema = "true"を有効にすると、これを理解するのに役立ちました。ただし、一部のホストはコードに必要なテーブルを生成させないため、スキーマが自動生成されない場合は、ケーシングの問題を確認してください。

于 2011-03-24T20:02:43.793 に答える
1

CodeMonkeyのソリューションは私のために機能しました...私は実際に新しいアプリをWin2008ServerVMに展開していました。LocalMySql接続文字列を指定し、MySQLRoleProvider自動生成をtrueに設定するまで、スキーマを生成できませんでした。

于 2013-02-15T21:23:35.043 に答える