代码之家  ›  专栏  ›  技术社区  ›  Richard Neil Ilagan

如何调用WCF服务构造函数?

  •  5
  • Richard Neil Ilagan  · 技术社区  · 15 年前

    我目前正试图在一个ASP.NET开发环境中使用WCF服务,我相信我做得很好,除了一件让我难堪的事情。

    基本上,我已经设置了一个WCF服务(让我们使用默认值,并添加了一个构造函数):

    public class MyService : IMyService
    {
        public MyService() { /* blah */ }
        public DoWork() { /* blah */ }
    }
    

    IMyService 接口定义 DoWork() [OperationContract] ,应该这样。

    所以我在另一个项目中引用了这个服务(比如说一个[单元]测试项目),通过 在VS2010用户界面上。这将创建对 MyServiceClient

    但是,当我在测试项目中执行此操作时:

    ServiceReference.IMyService service;
    service = new ServiceReference.MyServiceClient();
    

    ... 这个 MyService() 构造函数不会被调用,主要是因为我正在实例化 ,不是 MyService

    如何调用构造函数?我计划将其用于初始化目的(例如,在分层实现中获取一个层?).

    2 回复  |  直到 15 年前
        1
  •  6
  •   Dan Puzey    15 年前

    该构造函数将在 当你向客户提出要求时。

    创建对web服务的“引用”(然后使用客户机类)与引用常规的.DLL非常不同。所有服务代码都将在服务器端运行,但在调用服务之前不会运行。。。

        2
  •  1
  •   Johann Blais    15 年前

    为每个请求调用服务器端构造函数的唯一方法是将InstanceContextMode设置为PerCall(在serviceBhavior属性中)。

    推荐文章