0

サンプルコード:

public class Service1
{
    public int Service1()
    {
        ....
    }
}

public class Service2
{
    public int Service2()
    {
        ...
        var service1 = new Service1();
        var count = service1.Service1();
        ...
    }
}

クラスとメソッドの両方がWCFを介して公開されます。

4

2 に答える 2

3

これは、Service2 内で WCF 経由ではなくインプロセスで Service1 を呼び出しているため、正常に動作するはずです (Service2 内で WCF を使用していたとしても、動作するはずです)。

しかし、デザイン的には、これはあまり良くありません。サービス操作は、サービスを介して呼び出す必要があります (HTTP または TCP など)。Service1 と Service2 の両方が共通の機能にアクセスする必要がある場合、解決策は、共通のコードを Service1 だけでなく、共有クラスなどにリファクタリングすることです。

于 2010-03-10T14:31:44.963 に答える
2

大丈夫ですか?ええ、うまくいきます。通常は、オブジェクトをインスタンス化し、サービスの背後でメソッドを呼び出します。ただし、すべては環境のセットアップ方法に依存します。リクエストのロギングなど、サービスハンドルを呼び出す追加の手順があり、それを追跡したい場合は、必ずサービスを呼び出してください。

于 2010-03-10T14:31:09.193 に答える