- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个外部类库项目,需要从主项目中的 HomeController 获取 session 值集。有没有一种简单的方法可以做到这一点?
或者是否有其他方法可以将值从 HomeController 传输到外部 ClassLibrary?
最佳答案
您可以使用 IHttpContextAccessor
class
For other framework and custom components that require access to HttpContext, the recommended approach is to register a dependency using the built-in dependency injection container. The dependency injection container supplies the IHttpContextAccessor to any classes that declare it as a dependency in their constructors.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddHttpContextAccessor();
services.AddTransient<IUserRepository, UserRepository>();
}In the following example:
- UserRepository declares its dependency on IHttpContextAccessor.
- The dependency is supplied when dependency injection resolves the dependency chain and creates an instance of UserRepository.
.
public class UserRepository : IUserRepository
{
private readonly IHttpContextAccessor _httpContextAccessor;
public UserRepository(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
public void LogCurrentUser()
{
var username = _httpContextAccessor.HttpContext.User.Identity.Name;
service.LogAccessRequest(username);
}
}
不要忘记添加 services.AddHttpContextAccessor();
以使依赖注入(inject)工作。
关于c# - 有没有一种简单的方法可以让 ClassLibrary 获取 session 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56035940/
我有一个外部类库项目,需要从主项目中的 HomeController 获取 session 值集。有没有一种简单的方法可以做到这一点? 或者是否有其他方法可以将值从 HomeController 传输
我需要制作一个类库,以包含不同的资源文件 (resx)。这需要完成,以便我可以在多个项目中重复使用这些资源。 在阅读了很长一段时间关于如何实现这一点之后,我仍然离答案还很远。 请注意,如果我想更改一个
我的 ClassLibrary 有一个名为 LookUpBox 的 Windows 窗体。我想从我的应用程序调用 LookUpBox 并将我的应用程序设置为它的所有者,然后按以下方式进行操作: Loo
我从过去两周开始进入这个 wpf。我目前正在开发一个基于 MVVM 模式的 wpf 应用程序。我在 Visual C# 2010 中的解决方案中有 2 个项目。一个是 WPF 应用程序(可以说是 MS
如何在 ClassLibrary 类型的项目中使用 ActiveX 控件? 我打算稍后从 WPF 应用程序调用它,但我不想在窗体上的任何位置放置控件,所以我不想使用 WindowsFormsHost;
有没有什么办法可以让一个项目把它的Dll输出到两个不同的路径? 最佳答案 没有,但您可以使用 Post Build 步骤将生成的程序集复制到另一个文件夹: 关于c# - 如何 : output a c
因此,我想在 Silverlight 和“普通”应用程序之间共享大量代码。从实用函数开始,直到我手写的框架(MVC、DI 等...)... 这是我的问题: 想象一下,我已将所有这些东西放入一个 SL
我正在使用 IKVM 将 java 应用程序包装到 dll 中。我对 IKVM 不是特别熟悉,所以我提前为没有提供足够的信息表示歉意。无论如何,我正在使用一个 C# 库来调用 IKVM 创建的 dll
我是一名优秀的程序员,十分优秀!