我目前正试图了解一下ASP.NET开发环境的WCF服务,我相信我做得很好,除了让我感到难过的一件事.
基本上,我有一个WCF服务设置(让我们采取默认,添加构造函数):
public class MyService : IMyService { public MyService() { /* blah */ } public DoWork() { /* blah */ } }
IMyService接口将DoWork()方法定义为[OperationContract],应该如此.
所以我通过VS2010用户界面上的添加服务参考,在另一个项目中引用了这个服务(假设是[单元]测试项目).这将创建一个MyServiceClient的引用,它会公开我的WCF服务方法.
但是,当我在我的测试项目中执行此操作时:
ServiceReference.IMyService service; service = new ServiceReference.MyServiceClient();
… MyService()构造函数不会被调用,主要是因为我实例化MyServiceClient,而不是MyService本身.