我第一次嘗試使用MySQL .NET Connector 6.2.3中的成員資格/角色和配置文件提供程序中的構建,並且使用自動生成模式屬性在我的web.config。但是,我遇到了一些奇怪的問題。當我在本地運行網站時,我在本地數據庫中創建角色,用戶等時沒有問題,但是當我將其部署在Web服務器上時,生成的表看起來與當地人不同,並且並非所有表都包含相同的列或使用相同的命名。例如。角色表在服務器上被命名爲「my_aspnet_roles」本地,但名爲「my_aspnet_Roles」,並且包含角色名稱的列在服務器上被命名爲「name」local,但是「Rolename」,這意味着沒有任何提供者在線工作?有什麼我失蹤了嗎?自動生成的mysql memebership /配置文件和角色提供程序表中的錯誤
這裏是所有的設置爲我的供應商配置文件:
<connectionStrings>
<add name="LocalMySqlServer" connectionString="server=127.0.0.1;database=user_test;user id=root;pwd=1234"/>
</connectionStrings>
<membership defaultProvider="MySQLMembershipProvider">
<providers>
<remove name="MySQLMembershipProvider"/>
<add name="MySQLMembershipProvider" autogenerateschema="true" connectionStringName="LocalMySqlServer" applicationName="my_app" passwordFormat="Hashed" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</providers>
</membership>
<profile enabled="true" defaultProvider="MySQLProfileProvider">
<providers>
<remove name="MySQLProfileProvider"/>
<add name="MySQLProfileProvider" autogenerateschema="true" connectionStringName="LocalMySqlServer" applicationName="my_app" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</providers>
</profile>
<roleManager enabled="true" defaultProvider="MySQLRoleProvider">
<providers>
<remove name="MySQLRoleProvider"/>
<add name="MySQLRoleProvider" autogenerateschema="true" connectionStringName="LocalMySqlServer" applicationName="my_app" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.2.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</providers>
</roleManager>
什麼命令你在本地和服務器上運行?供應商的版本是否相同? – abatishchev 2011-03-13 16:11:55
我不知道被調用的可能的命令,但提供者應該是相同的,它們應該放在我包含在我的bin文件夾中的MySql.web.dll中。這些表格是在第一次輸入應用程序(網站被訪問)時生成的,所以我無法控制它們的創建方式!此外,該網站託管一個我無法控制配置的地方,所以我不確定他們是否可以用他們有的「覆蓋」我的提供商? – aweis 2011-03-13 16:18:57