使用NInject在WCF服务构造函数中注入参数

时间:2016-02-04 09:34:44

标签: c# wcf ninject

我见过几个examples on Internet设置NInject Factory修改svc文件。我没有这个svc文件(或者我不知道它在哪里)。

我有轻微的WCF服务:

IService界面:

[ServiceContract]
public interface IFileSystemPluginService
{
    [OperationContract]
    void saveConfiguration(Configuration.Configuration configuration, string userId);

    [OperationContract]
    Configuration.Configuration getConfiguration(string userId);
}

IService实施:

public class Service : IService
{
    private IUserConfigurable userConfigurablePlugin;

    public Service(IUserConfigurable configurablePlugin)
    {
        this.configurablePlugin = configurablePlugin;
    }
}

为了解决服务问题,请在代码中设置配置:

private void initializeWCFService()
{
    string baseAdress = "xxx";
    Uri baseAddressUri = new Uri(baseAdress);

    this.serviceHost = new System.ServiceModel.ServiceHost(typeof(Service), baseAddressUri);
    this.serviceHost.AddServiceEndpoint(
        typeof(IService),
        new System.ServiceModel.WSHttpBinding(),
        string.Empty
    );

    System.ServiceModel.Description.ServiceMetadataBehavior smb = new System.ServiceModel.Description.ServiceMetadataBehavior();
    smb.HttpGetEnabled = true;
    smb.HttpGetUrl = new Uri(baseAdress);
    this.serviceHost.Description.Behaviors.Add(smb);
    this.serviceHost.Open();
}

我需要在IUserConfigurable构造函数中注入一个Service对象。

0 个答案:

没有答案