asp.net - 为MySQLProfileProvider调用Profile.GetProfile(user.UserName)时出现TypeLoadException

时间:2012-02-28 22:47:59

标签: c# asp.net .net mysql

我需要存储一些与单个用户相关的数据,因此我决定将Profile与自定义属性一起使用。当我想访问Profile属性中的任何静态方法时,我得到ConfigurationErrorException,内部异常为TypeLoadException

在调试过程中,我已检查Modules视图已加载MySql.Web.dll,而在反射器中我能看到类型MySql.Web.Profile.MySQLProfileProvider,我猜这可能是一些安全问题但是我不知道这是否属实,以及如何处理。

这是我的Web.Config

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="ApplicationServices" connectionString="server=localhost;User Id=ID;Password=PASS;database=users" providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>
  <system.web>
    <compilation targetFramework="4.0" debug="true">
    </compilation>
    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" 
             autogenerateschema="true"
             type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.4.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" 
             applicationName="/" 
             connectionStringName="ApplicationServices" 
             writeExceptionsToEventLog="False" 
             passwordFormat="Clear" 
             maxInvalidPasswordAttempts="5" 
             minRequiredPasswordLength="6">
      </providers>
    </membership>
    <profile enabled ="true" defaultProvider="MySQLProfileProvider">
      <providers>
        <clear/>
        <add name="MySQLProfileProvider" 
             type="MySql.Web.Profile.MySQLProfileProvider , MySql.Web, Version=6.4.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D" 
             connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
      <properties>
        <add name="UserIdData" type="System.String"/>
      </properties>
    </profile>
    <roleManager enabled="true" defaultProvider="KolorprintAspNetSqlRoleProvider">
      <providers>
        <add name="KolorprintAspNetSqlRoleProvider" 
             type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.4.4.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"
             connectionStringName="ApplicationServices" 
             applicationName="/"/>
      </providers>
    </roleManager>
    <trust level="High" />
    <identity impersonate="false"/>
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

在代码中可以正常访问“个人资料”,角色和会员资格也正常工作。

这里有没有人知道可能会发生什么和/或如何解决这个问题?

0 个答案:

没有答案