我正在编写一个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 St
我试图在ASP.NET核心标识系统中添加一个新角色。但到目前为止还没有运气。
代码: C#
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
private ApplicationDbContext _context;
var roleStore = new RoleStore<IdentityRole>(_context);
var roleManager = new RoleManager<IdentityRole>(role
我使用的是带有ASP.NET Core2.1的简单注入器,我已经启用了如下所示的自动交叉连接,但是当我使用container.GetCurrentRegistrations()时,我看不到任何在简单注入器容器中可用的ASP.NET核心服务。
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
services.AddHttpContextAccessor>();
services.AddSingleton<IControllerActivator>(
new SimpleInj
我有一个项目使用基于asp.net核心2.1解决方案的redis分布式缓存。有件事我还不明白。
我有一个带有注入主题的构造函数的类myClassName。
public class myClassName
{
private readonly IDistributedCache _userCache;
public myClassName(IDistributedCache distributedCache) => _userCache
= distributedCache;
public async Task FirstMethod(...)
p
因此,我需要在我的IMemoryCache核心应用程序中使用ASP.NET,在大多数地方,它被注入控制器并按预期工作。现在我需要缓存菜单的一部分,菜单逻辑作为布局视图的一部分被调用。所以,没有一个控制器可以谈论。我的启动程序已经包含了以下几个方面,可以很好地应用于其他方面:
services.AddMemoryCache();
作为布局一部分的调用如下所示:
@(await new MenuUtility().DisplayNavBar(Html, showMenus))
将在其中使用缓存的MenuUtility类具有如下调用:
public class MenuUtility
{
pri
我的项目构建在Asp.Net核心之上,并使用SimpleInjectorWebApiInitialer注册依赖项,在注入这些依赖项时,它会读取已注册的相应实现。示例:
var container = new Container()
container.Register<IUserService, UserService>(Lifestyle.Scoped);
在我的例子中,我在类中注入IHubContext以调用客户端方法,但是在初始化类时,它在注册IHubContext时抛出了一个异常。那么,在这种情况下,我们应该如何注册它呢?
我正在开发一个ASP.net核心应用,当然也在使用依赖注入。主要是在页面的构造函数或其他服务中注入所需的服务。其中一些注入的服务在几乎所有其他构造函数中都是相同的。例如,有ILogger<T>,一个保存一些应用程序范围信息的IAppInfo,还有一个在许多其他服务中使用的IFileServices。所以我最终在构造函数中进行了大量的注入,在一些超过7个的构造函数中。问题是,哪种方法是摆脱几乎每个构造函数中使用的所有这些参数的最好方法? 目前,我已经实现了另一个服务,其中包含获取所需服务的方法: public interface IBasicsService<out
我正在构建一个ASP.NET核心2.1应用程序。对于应用程序洞察力遥测,我有我的自定义类,但我也想使用内置的ITelemetryInitializer。当自动交叉布线启用时,简单喷射器会自动解决这些依赖吗?
更新
我尝试了下面的一段代码,得到了如下所示的错误。我不知道其他的自动交叉布线应该如何工作。
container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle();
services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
ser
我不能使用依赖注入,我的ASP.NET核心项目中有带有静态方法的静态助手类。确定应用程序是否在开发环境中运行的最简单方法是什么?
等同于:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment()) // -> this env is what I'm looking for
{
app.UseDeveloperExceptionPage();
app.UseMigrationsEndPoint(