我正在编写一个ASP.NET经典WebAPI应用程序。我已经实现了OWIN StartUp类,并且执行了Caonfiguration方法,但是没有执行ConfigureServices方法。我知道这适用于DotNetCore。
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(ClassicWebApi.Startup))]
namespace ClassicWebApi
{
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
//CODE IS NOT EXECUTED
}
public void Configuration(IAppBuilder app)
{
//CODE IS EXECUTED
}
}
}
这只是DotNetCore的一个功能,还是需要在设置中包括另一个库?
3条答案
按热度按时间ar7v8xwq1#
我想使用依赖项注入,特别是AddDbContext和AddScoped
内置依赖项注入仅在ASP.NET核心中可用。您将需要使用第三方IoC容器,例如-
8wigbo562#
你可以在非核心项目中使用
Microsoft.Extensions.DependencyInjection
,你只需从Global.asaxApplication_Start
方法调用ConfigureServices(IServiceCollection services)
。cl25kdpy3#
如果你想在ASP.NET中使用WebAPI来使用DI,那就看看Unity吧。
Unity是向现有的遗留ASP.NET应用程序添加DI的最佳库,您可以使用它向任何应用程序添加DI,甚至是WebForms。
** Package :**
全局.ascx:
示例类:
WebAPI类示例: