我目前正在尝试为 ASP.NET 开发环境了解 WCF 服务,并且我相信除了一件让我难过的事情之外,我做得很好。
基本上,我已经设置了一个 WCF 服务(让我们采用默认值,并添加一个构造函数):
public class MyService : IMyService
{
public MyService() { /* blah */ }
public DoWork() { /* blah */ }
}
IMyService
接口(interface)定义了DoWork()
方法作为 [OperationContract]
, 正如它应该。因此,我通过 VS2010 UI 上的添加服务引用在另一个项目(假设是 [单元] 测试项目)中引用了此服务。这将创建对
MyServiceClient
的引用它公开了我的 WCF 服务方法,因为它应该。但是,当我在我的测试项目中这样做时:
ServiceReference.IMyService service;
service = new ServiceReference.MyServiceClient();
...
MyService()
构造函数没有被调用,主要是因为我正在实例化一个 MyServiceClient
,而不是 MyService
本身。我该如何调用该构造函数?我打算将其用于初始化目的(例如,也许在分层实现中抓取一个层?)。
最佳答案
当您从客户端发出请求时,将在服务器上调用该构造函数。
创建对 Web 服务的“引用”(然后使用客户端类)与引用常规 .DLL 非常不同。您的所有服务代码都将在服务器端运行,但直到服务被调用...
关于asp.net - 如何调用我的 WCF 服务构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4079236/