4

我正在尝试WebMatrix.WebData.WebSecurity()在桌面应用程序中实现该方法.Net,该应用程序将与项目一起连接到服务器上的数据库,MVC4因此我想在两个应用程序上使用当前提供程序来验证用户。

我想知道这是否可能,因为我遇到了异常:

{System.InvalidOperationException: To call this method, the 
"Membership.Provider" property must be an instance of 
"ExtendedMembershipProvider".
 at WebMatrix.WebData.WebSecurity.VerifyProvider()

Web.Config我已将我的应用程序复制MVC4到我的app.config文件中,但我似乎仍然无法让它工作。任何方向将不胜感激

编辑 这与位于 MVC4 控制器上的 [InitializeSimpleMembership] 属性有关。这将为 WebSecurity 执行一些初始化。谁能看到如何在没有属性的情况下初始化此代码?

再次感谢

谢谢

4

1 回答 1

6

我正在尝试在 .Net 桌面应用程序中实现 WebMatrix.WebData.WebSecurity() 方法

忘掉它。Membership 提供程序与 ASP.NET 上下文紧密耦合,不打算在桌面应用程序中使用。它取决于桌面应用程序中不存在的诸如 HttpContext、cookies 之类的东西。

相反,您可以做的是定义一个可重用的服务层,您可以直接在桌面应用程序中使用该服务层,然后实现 ASP.NET 成员资格提供程序调用此服务层的方法,从而在两者之间重用相同的功能。

于 2013-02-03T18:54:57.540 回答