我有一个基于ASP.NET Core 2.1解决方案的redis
分布式缓存项目。有一些我不了解的东西。
我有一个myClassName
类,其构造函数有待注入。
public class myClassName
{
private readonly IDistributedCache _userCache;
public myClassName(IDistributedCache distributedCache) => _userCache
= distributedCache;
public async Task FirstMethod(...)
private async Task SecondMethod(...)
}
从另一个类“ myClassNameTwo”中,我必须创建一个“ myClassName”实例并访问某些方法。
我有:
Public class myClassNameTwo : Hub
{
private readonly AssetsBroadcaster _broadcaster;
public myClassNameTwo(AssetsBroadcaster broadcaster)
{
_broadcaster = broadcaster;
}
public async Task DoSomething(...)
{
myClassName hello = new myClassName(???)
await hello.FirstMethod(...)
}
}
如何检索IDistributedCache
服务实例以传递给myClassName
构造函数?
答案 0 :(得分:0)
如果使用的是.Net Core,请使用依赖项禁令,如果已在启动中注册了myClassName类,则可以注入它们的实例。
喜欢
public class myClassName{
private readonly IDistributedCache _userCache;
public myClassName(IDistributedCache distributedCache) {
_userCache = distributedCache;
}
public async Task FirstMethod(...)
private async Task SecondMethod(...)
}
对于第二堂课,就像下面的
Public class myClassNameTwo : Hub
{
private readonly AssetsBroadcaster _broadcaster;
private readonly myClassName _myClassName;
public myClassNameTwo(AssetsBroadcaster broadcaster,
myClassName myClassName)
{
_broadcaster = broadcaster;
_myClassName = myClassName;
}
public async Task DoSomething(...)
{
await _myClassName.FirstMethod(...)
}
}
myClassName的依赖项将自动注入。因此,您无需单独注入。