我需要存储一些与单个用户相关的数据,因此我决定将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>
在代码中可以正常访问“个人资料”,角色和会员资格也正常工作。
这里有没有人知道可能会发生什么和/或如何解决这个问题?