示例代码:
public class Service1
{
public int Service1()
{
....
}
}
public class Service2
{
public int Service2()
{
...
var service1 = new Service1();
var count = service1.Service1();
...
}
}
这两个类和方法都是通过WCF公开的。
答案 0 :(得分:3)
这应该可以正常工作,因为在Service2内部你正在调用Service1而不是通过WCF(即使你在Service2中使用WCF它仍应该工作)。
但就设计而言,这并不是很好。应通过服务(例如,通过HTTP或TCP)调用服务操作。如果Service1和Service2都需要访问公共功能,那么解决方案是将公共代码重构为共享类或其他内容,而不是仅仅将其放在Service1中。
答案 1 :(得分:2)
可以吗?是的它会起作用。通常,我宁愿实例化对象并调用服务背后的方法。这一切都取决于环境的设置方式。如果有其他步骤调用服务句柄,如记录请求等,并且您想要跟踪它,那么无论如何都要调用该服务。