作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我对如何使用 OWIN CreatePerOwinContext 方法感到困惑。据我所知,这是一个穷人的 DI 机制。然而,我看不到如何使用它。
我们可以在启动序列中注册一个类型/实现,例如:
app.CreatePerOwinContext<IUserService>(() => {
return new UserService() as IUserService;
});
那我们以后怎么解决。文档说它可以通过 Get 方法检索。但是Get<T>
需要一个字符串参数,它是 Enviornment IDictionary 中该条目的键?在这种情况下我怎么知道 key ?
IUserService userService = context.Get<IUserService>(???);
最佳答案
您可以使用 typeof
得到key
参数:
HttpContext.GetOwinContext().Get<ApplicationDbContext>(typeof(ApplicationDbContext).ToString());
此外,Microsoft.AspNet.Identity.Owin
程序集包含 Get<T>()
的无参数版本方法,因此如果您的项目中已有 ASP.NET Identity,则可以使用它。
关于c# - 究竟应该如何使用 IAppBuilder.CreatePerOwinContext<T>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32501238/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!