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が、それでも機能しないようです。任意の方向をいただければ幸いですMVC4app.config

編集 これは、MVC4コントローラーにある[InitializeSimpleMembership]属性と関係があります。これにより、WebSecurityの初期化が実行されます。属性でなくてもこのコードを初期化する方法を誰かが見ることができますか?

再度、感謝します

ありがとう

4

1 に答える 1

6

.NetデスクトップアプリケーションにWebMatrix.WebData.WebSecurity()メソッドを実装しようとしています

気にしないで。メンバーシッププロバイダーはASP.NETコンテキストと緊密に結合されており、デスクトップアプリケーションでの使用を目的としたものではありません。これは、デスクトップアプリケーションには存在しないHttpContext、Cookieなどに依存します。

代わりにできることは、デスクトップアプリケーションで直接使用できる再利用可能なサービスレイヤーを定義し、このサービスレイヤーのメソッドを呼び出すASP.NETメンバーシッププロバイダーを実装して、2つの間で同じ機能を再利用することです。

于 2013-02-03T18:54:57.540 に答える