スクリプトを作成する場合
[dbo].[aspnet_Membership_FindUsersByEmail]
、(デフォルトの実装)がすでに「アプリケーションごとに分離」されていることがわかります。(このプロシージャは「ApplicationName」をパラメータとして使用するためです。
したがって、プログラムで
MembershipProvider.ApplicationName
http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.applicationname.aspx
そうすれば、やりたいことができるはずです。
上記の手順の署名は次のとおりです。
ALTER PROCEDURE [dbo].[aspnet_Membership_FindUsersByEmail]
@ApplicationName nvarchar(256),
@EmailToMatch nvarchar(256),
@PageIndex int,
@PageSize int
AS
リマインダー:
ストアド プロシージャを直接処理することはありません。MembershipProvider の API を使用します。
しかし、ここに簡単なテストがあります。
MembershipProvider mp1 = Membership.Providers["App1"];
mp1.CreateUser (.................. )
MembershipProvider mp2 = Membership.Providers["App2"];
mp2.CreateUser (.................. ) /* use same email */
ここで、構成ファイルで各 MembershipProvider (およびその名前) を定義する必要があると思います。
しかし、ここにMSDNリンクがあります:
http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovidercollection.item.aspx