私はコードで欲しいものを説明しようとしますが、原因は言葉でそれを公式化することはできません。他のWCFサービスをカプセル化するWCFサービスの概念を実装するにはどうすればよいですか?
私は、リソースのいくつかの種類を持っていると私は、WCFサービスでその使用をカプセル化し、そして私は、このようなものも、WCFサービスでこのリソースへのアクセスを制御するリソースマネージャを持っている:
//Allows only one client to use it at the same time...
public interface IResource
{
string GetResourceDescription();
void DoWork();
void BeginWork();
void EndWork();
}
//Governs access and location of resources
public interface IResourceManager
{
IEnumerable<string> GetResourcesDescriptions();
bool IsResourceAvailable(string resourceDescription);
void BeginWorkWith(string resourceDescription);
void DoWorkWith(string resourceDescription)
void EndWorkWith(string resourceDescription);
}
をこのコードで私が好きでないのは、IResourceManager
と一緒に作業する場合、サービス操作に使用するリソースを常に指定する必要があるため、IResourceManager
は基本的にIResource
と同じサービス操作を行いますが、パラメータとしてはIResource
という識別子を追加します。
は、私が欲しいのです:これは2番目、クライアントが直接ネットワーク層上IResource
と通信できない、不可能である
public interface IResourceManager
{
IEnumerable<string> GetResourcesDescriptions();
//I want it to return service proxy (ICommunicationObject)
IResource GetResource(string resourceDescription);
}
まず(直接接続はありません)。
これまでのところ、この動作を模倣したクライアント側のラッパーを作成するには醜い解決策しか見つけられませんでした。どのように実装し、そのようなWCFサービスを使用する?