我想寫一個JobActivator HangFire使用ServiceStack IoC和我無法解決類型。我相信對於那些對泛型有更多經驗的人來說,這將是一個簡單的答案。如何解決類型使用ServiceStack Funq IoC
我傳遞中的容器,從HostContext.Container來
using Hangfire;
using System;
using System.Collections.Generic;
using System.Linq;
using ServiceStack;
namespace Common.Hangfire
{
public class FunqJobActivator : JobActivator
{
private Funq.Container _container;
public FunqJobActivator(Funq.Container container)
{
if (container == null)
{
throw new ArgumentNullException("container");
}
_container = container;
}
public override object ActivateJob(Type type)
{
return _container.Resolve<type>(); //** this doesn't compile
}
}
}
Funq'的'作爲IoC框架的選擇是在這種情況下不幸。許多IoC框架將提供一個'Resolve'方法,它接受'Type'作爲它的參數。我不相信Funq。它依賴泛型方法參數來獲取類型。 – Alex