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 内部,您在进程内调用 Service1 而不是通过 WCF 出去(即使您在 Service2 内部使用 WCF,它仍然应该工作)。

但就设计而言,这不是很好。服务操作应该通过服务调用(例如通过 HTTP 或 TCP)。如果 Service1 和 Service2 都需要访问公共功能,解决方案是将公共代码重构为共享类或其他东西,而不仅仅是在 Service1 中。

于 2010-03-10T14:31:44.963 回答
2

可以吗?是的,它会起作用的。一般来说,我宁愿实例化对象并调用服务背后的方法。不过,这一切都取决于环境的设置方式。如果有其他步骤调用服务句柄,例如记录请求等,并且您想跟踪它,那么请务必调用该服务。

于 2010-03-10T14:31:09.193 回答