WCF服务可以有构造函数吗?

Ray*_*Ray 41 wcf constructor dependency-injection

当我在我的解决方案中新建一个WCF服务时,我可以执行以下操作,有一个带参数的构造函数来传入吗?如果是,运行时如何,何时以及在何处填写我所需的IBusinessLogic对象?

[ServiceContract]
public interface IServiceContract
{
    [OperationContract]
    ...
}

public class MyService : IServiceContract
{
    IBusinessLogic _businessLogic;
    public ServiceLayer(IBusinessLogic businessLogic)
    {
        _businessLogic = businessLogic;
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

Kev*_*Kev 13

开箱即用的WCF只会使用默认构造函数,不能使用参数化构造函数.您必须做一些额外的工作才能使WCF调用参数化构造函数.

你可以试试这个:

如何将值传递给我的wcf服务上的构造函数?


Ray*_*urg 6

您可以让WCF(间接地)调用非默认构造函数,为此,您需要滚动自己的实例提供程序.您需要实现IInstanceProvider并添加自定义服务行为.一些链接将向您展示如何与Spring.NET结合使用:

WCF服务依赖注入

代码示例WCF服务依赖注入