日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java声明公共构造函数_确保控制器具有无参数的公共构造函数错误

發(fā)布時間:2025/3/15 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java声明公共构造函数_确保控制器具有无参数的公共构造函数错误 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我已經(jīng)按照這個tutorial進(jìn)行了很好的工作,直到我修改了 DbContext 以獲得額外的構(gòu)造函數(shù) . 我現(xiàn)在遇到了解決方案的問題,不知道如何解決這個問題 . 是否有一種簡單的方法可以強制它 grab 無參數(shù)構(gòu)造函數(shù),或者我接近這個錯誤?

DbContext 有兩個構(gòu)造函數(shù):

public class DashboardDbContext : DbContext

{

public DashboardDbContext() : base("DefaultConnection") { }

public DashboardDbContext(DbConnection dbConnection, bool owns)

: base(dbConnection, owns) { }

}

SiteController 構(gòu)造函數(shù):

private readonly IDashboardRepository _repo;

public SiteController(IDashboardRepository repo)

{

_repo = repo;

}

庫:

DashboardDbContext _context;

public DashboardRepository(DashboardDbContext context)

{

_context = context;

}

UnityResolver 代碼:

public class UnityResolver : IDependencyResolver

{

private readonly IUnityContainer _container;

public UnityResolver(IUnityContainer container)

{

_container = container;

}

public object GetService(Type serviceType)

{

try

{

return _container.Resolve(serviceType);

}

catch (ResolutionFailedException)

{

return null;

}

}

public IEnumerable GetServices(Type serviceType)

{

try

{

return _container.ResolveAll(serviceType);

}

catch (ResolutionFailedException)

{

return new List();

}

}

public IDependencyScope BeginScope()

{

var child = _container.CreateChildContainer();

return new UnityResolver(child);

}

public void Dispose()

{

_container.Dispose();

}

}

WebApiConfig:

var container = new UnityContainer();

container.RegisterType(new HierarchicalLifetimeManager());

config.DependencyResolver = new UnityResolver(container);

WebApi調(diào)用出錯:

System.InvalidOperationException:嘗試創(chuàng)建“SiteController”類型的控制器時發(fā)生錯誤 . 確保控制器具有無參數(shù)的公共構(gòu)造函數(shù) .

at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)

at System.Web.Http.Controllers.HttpControllerDescriptor.CreateController(HttpRequestMessage request)

at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)

at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__0.MoveNext()

InnerException:System.ArgumentException:Type'Dashboard.Web.Controllers.SiteController'沒有默認(rèn)構(gòu)造函數(shù) .

at System.Linq.Expressions.Expression.New(Type type)

at System.Web.Http.Internal.TypeActivator.Create[TBase](Type instanceType)

at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func`1& activator)

at System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)

該教程非常棒,并且在我添加第二個構(gòu)造函數(shù)之前一直很好用 .

總結(jié)

以上是生活随笔為你收集整理的java声明公共构造函数_确保控制器具有无参数的公共构造函数错误的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。