请问关于c的具体应用场景有哪些?

2026-04-29 04:002阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计270个文字,预计阅读时间需要2分钟。

请问关于c的具体应用场景有哪些?

我正在尝试使用asp.net core 2.0.1作为我的DataContext,将一个Func注入到一个webapi控制器中。在Startup.cs中,我添加了以下代码:services.AddTransient();然后在控制器的构造函数中,我将此Func注入。

我正在尝试使用asp.net core 2.0.1为我的DataContext将一个Func注入一个webapi控制器.

请问关于c的具体应用场景有哪些?

在我的Startup.cs中我添加了;

services.AddTransient<Func<IDataContext>, Func<DataContext>>();

然后我在我的控制器构造函数中将此传递给我的服务;

private readonly ClientService _service; public ClientController(Func<IDataContext> context) { _service = new ClientService(context); }

但是,当我运行程序并尝试调用端点时,我收到错误;

InvalidOperationException: Unable to resolve service for type ‘System.Object’ while attempting to activate ‘System.Func`1[Data.EF.DataContext]’.

为什么这样好?以及如何解决它.

你是说Func< IDataContext>应该解析为Func< DataContext>,但是DI容器不知道如何构造Func< DataContext>,所以你需要明确告诉它:

// this assumes IDataContext is already registered in container // if not - register it first services.AddTransient<Func<IDataContext>>(cont => () => cont.GetService<IDataContext>());

标签:依赖

本文共计270个文字,预计阅读时间需要2分钟。

请问关于c的具体应用场景有哪些?

我正在尝试使用asp.net core 2.0.1作为我的DataContext,将一个Func注入到一个webapi控制器中。在Startup.cs中,我添加了以下代码:services.AddTransient();然后在控制器的构造函数中,我将此Func注入。

我正在尝试使用asp.net core 2.0.1为我的DataContext将一个Func注入一个webapi控制器.

请问关于c的具体应用场景有哪些?

在我的Startup.cs中我添加了;

services.AddTransient<Func<IDataContext>, Func<DataContext>>();

然后我在我的控制器构造函数中将此传递给我的服务;

private readonly ClientService _service; public ClientController(Func<IDataContext> context) { _service = new ClientService(context); }

但是,当我运行程序并尝试调用端点时,我收到错误;

InvalidOperationException: Unable to resolve service for type ‘System.Object’ while attempting to activate ‘System.Func`1[Data.EF.DataContext]’.

为什么这样好?以及如何解决它.

你是说Func< IDataContext>应该解析为Func< DataContext>,但是DI容器不知道如何构造Func< DataContext>,所以你需要明确告诉它:

// this assumes IDataContext is already registered in container // if not - register it first services.AddTransient<Func<IDataContext>>(cont => () => cont.GetService<IDataContext>());

标签:依赖