described here ile aynı sorunu yaşıyorum ve kurulum şu anda olan ve neredeyse identical to this temel alınmıştır. Benim denetleyicisi bir yönteme erişmek zaman tip 'TestController' bir denetleyicisi oluşturmaya çalışırken buWeb API ve OWIN'de Basit Enjektör'ü Kullanma
yığın izlemebir hata oluştu olsun. Denetleyicinin parametre olmayan bir kamu yapıcısına sahip olduğundan emin olun. İşte
at System.Web.Http.Dispatcher.DefaultHttpControllerActivator
.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor,
Type controllerType)\r\n
at System.Web.Http.Controllers.HttpControllerDescriptor
.CreateController(HttpRequestMessage request)\r\n
at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()
var Ve burada Buradaki iç istisnanın yığın izleme
at System.Linq.Expressions.Expression.New(Type type)\r\n
at System.Web.Http.Internal.TypeActivator.Create[TBase](Type instanceType)\r\n
at System.Web.Http.Dispatcher.DefaultHttpControllerActivator
.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func`1& activator)\r\n
at System.Web.Http.Dispatcher.DefaultHttpControllerActivator
.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)
var benim denetleyicisi
public class TestController : ApiController
{
private readonly ITestRepo _repo;
public TestController(ITestRepo repo)
{
_repo = repo;
}
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
public string Get(int id)
{
return _repo.GetId(id);
}
}
gibi görünür Ve burada şu şekilde ayarlayabilirsiniz Basit Enjektör
http://blog.ploeh.dk/2012/09/28/DependencyInjectionandLifetimeManagementwithASP.NETWebAPI/ – Aron
yığın iz itibaren görünüyor Basit Enjektör, denetleyicileri çözümlerken * dahil değildir. GlobalConfiguration.Configuration.DependencyResolver' değerinin çalışma zamanında olup olmadığını kontrol edin. Muhtemelen bir yerde sıfırlanıyor. Bunun nerede olduğunu öğrenmelisin. Belki de "WebApiConfig.Register" veya "app.UseWebApi" yöntemlerinde? – Steven
"container.Verify" çağrıldığında, denetleyicilerin her birinin vurulduğu için "karışıyor" diye düşünüyorum. Doğru anlamış olsaydım, "Doğrula" budur. –