1)私は、WCFサービスダイナミックWCFサービス契約は
2)クライアント・アプリケーションは、このWCFサービス
に資格情報を送信することができるはずですへの参照を追加するクライアントアプリケーションを持つようにしたいです3)資格情報のアクセス許可に基づいて、WCFサービスは適切なInterface(サービス契約)をクライアントに返す必要があります。
4)クライアントはそれを消費します。
私は、エンティティが「資産」を言うと、その上にすべての可能な操作に関連するいくつかのメソッドを持って定義するサーバーでクラスを、肝炎とし
Class Asset
{
Add()
{
.....
}
Edit()
{
......
}
Flag()
{
......
}
Deploy()
{
........
}
}
今私は、「資産」にいくつかのアクションを実行しようとするクライアントアプリケーションを持っています。しかし、クラスDLL全体をクライアントに与えることは望ましくありません。代わりにインターフェイスだけを提供したい。どのクライアントがそれを使用して適切なアクションを呼び出すことができます。
ここで問題は、クライアントアプリケーションがWCFサービスへの参照を追加することです。 Assetクラスの適切なインターフェイスをWS *または認証資格情報に基づいてクライアントに返す方法.NET 4.0では、サービス契約を動的に作成して返す簡単な方法がありますか?
//following is pseudo code
If(Current.User.Role == 'Admin')
{
return IAssetsForAdmin;
}
else
{
return IAssetsForGeneralUser;
}
Interface IAssetForAdmin
{
Add();
Edit();
Flag();
}
Interface IAssetForGeneralUser
{
Flag();
}