我正在尝试将一个服务注入到另一个服务中,但我无法使它工作,在网上搜索了一下后,我还看不到解决方案。
这是确切的错误:
System.AggregateException:“无法构造某些服务(验证服务描述符”ServiceType:MyBank.services.ITRansactionService Lifetime:作用域实现类型:MyBank.services.TransactionService“时出错:尝试激活”MyBank.services.TransactionService“时无法解析类型”MyBank.services.AccountsService“的服务。)”
我有这样的服务:
public class AccountsService : IAccountsService
我想把它注入到另一个服务中:
public class TransactionService : ITransactionService
{
private readonly ApplicationDbContext db;
private readonly AccountsService accountsService;
public TransactionService(ApplicationDbContext db, AccountsService accountsService)
{
this.db = db;
this.accountsService = accountsService;
}
}
这是我的Startup.cs服务区域:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
_ = services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = false)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddControllersWithViews().AddNewtonsoftJson(options =>
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore);
services.AddRazorPages().
AddRazorRuntimeCompilation();
services.AddScoped<IAccountsService, AccountsService>();
services.AddScoped<ITransactionService, TransactionService>();
}
您正在尝试将AccountsService
(实现),而不是IAccountsService
(接口)注入TransactionService
。
我想将我的房间存储库和Rest存储库注入到我的ViewModel类中。然而,我可以注入rest存储库,但当我尝试注入room存储库时,它会出错。 错误是这样的: 错误:[dagger.android.AndroidInjector.inject(T)]me.ibrahimsn.capsules.data.local.message.如果没有@Provides-anttated方法,则无法提供Mes
也许我错过了它,但我正在试图弄清楚如何在ASP.NET核心中实现这一点。我查看了源代码(https://github.com/aspnet/security),但没有看到任何类似的内容。有没有新的方法来完成这一点?我需要创建一个控制器然后自己做吗? 我看到了如何通过中间件来设置OAuth身份验证,但这涉及到从API发出声明的授权部分。
我正在创建spring web应用程序,并试图添加带有货币数据的新实体(javamoney.moneta)。下面是代码: 添加到表a中的money和data列将用FastMoney填充。FastMoney是从BigDecimal money和String CurrencyUnit在构造函数内部创建的。 我该怎么办?
我已经为我的应用程序实现了shedlock,对于我们拥有的两台服务器来说,它运行良好,没有任何问题。 我们现在在另一个域上添加了两个新服务器,shedlock也会选择它们。(好吧,这就是它的本意) 我有一份工作,创建pdf文件并将其放在文件夹中。添加的新服务器无权访问这些文件夹。因此,当这两个新服务器选择作业时,我的作业将失败。 有没有可能告诉夏洛克从我的两台服务器中选择任何一台,或者不选择另外两
我对Azure Service Fabric有问题。 我已经安装了它(在Windows 7上),正如https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-get-started/. 但是当我尝试从Visual Studio运行Service Fabric应用程序时,我看到Windows服务Microsoft
首先,我使用Windows 7 64位,WAMP 32位和火鸟32位。 我试图使用PHP与火鸟或interbase,所以我取消注释以下行从我的php.ini文件: 然后,当我启动WAMP时,会出现以下错误: 我已经尝试过的: 有人知道我该怎么解决这个问题吗?谢谢