0

我在 IIS 上运行我的网站。默认页面显示此消息:

“/Enterprise/EnterpriseASP”应用程序中的服务器错误。无法将“System.Web.Security.SqlMembershipProvider”类型的对象转换为“EnterpriseASPClient.Core.EnterpriseMembershipProvider”。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.InvalidCastException:无法将“System.Web.Security.SqlMembershipProvider”类型的对象转换为“EnterpriseASPClient.Core.EnterpriseMembershipProvider”类型。

源错误:

第 78 行:第 79 行:受保护的覆盖 Sub OnLoad(ByVal e As System.EventArgs) 第 80 行:
MyBase.OnLoad(e) 第 81 行:
Helper.WireViews(Me) 第 82 行:
结束 Sub

源文件:C:\Enterprise\EnterpriseASPClient\Core\PageBase.vb 行:80

堆栈跟踪:

[InvalidCastException:无法将“System.Web.Security.SqlMembershipProvider”类型的对象转换为“EnterpriseASPClient.Core.EnterpriseMembershipProvider”类型。] Login.Page_Load(Object sender, EventArgs e) +607
System.Web.UI.Control.OnLoad (EventArgs e) +99
EnterpriseASPClient.Core.PageBase.OnLoad(EventArgs e) 在 C:\Enterprise\EnterpriseASPClient\Core\PageBase.vb:80 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI .Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,布尔 includeStagesAfterAsyncPoint)+1436

如何解决这个问题?

4

2 回答 2

0

看起来您错误地尝试(显式或隐式)将 type 对象强制System.Web.Security.SqlMembershipProvider转换为 type EnterpriseASPClient.Core.EnterpriseMembershipProvider

请提供有关您的程序中实际发生的事情的更多详细信息。

我猜你被覆盖的OnLoad()函数——或者实际上是Helper.WireViews()它调用的方法——正在做一些不建议使用强制转换的事情。

于 2009-08-12T23:33:32.897 回答
0

如果您使用的是自定义 AccountMembershipProvider,请记住您需要在 Web 配置中进行设置:

<membership defaultProvider="AccountMembershipProvider">
    <providers>
        <clear/>
        <add name="AccountMembershipProvider" type="Foo.Bar.AccountMembershipProvider"/>
    </providers>
</membership>
于 2011-12-20T03:21:43.647 回答