问题标签 [perwebrequest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
model-view-controller - 温莎城堡:控制器中的 PerWebRequest
我在 MVC 应用程序中使用 Castle Windsor,我遇到了这个问题:
我有IUnitOfWorkProvider
依赖,我想拥有PerWebRequest
生活方式。
在控制器中,我有这两个依赖项:
AuthenticationProvider
具有相同的依赖关系 ( IUnitOfWorkProvider
)
问题是“两个” UnitOfWorkProvider
s(在控制器中和中AuthenticationProvider
)与我期望的不同。
IAuthenticationProvider
,AuthenticationProvider
并且它的注册在不同的项目(Windows 库)中。
LifestylePerThread
不适用于相同的错误。
当我设置LifestyleSignleton
它工作正常。
有人可以帮忙吗?谢谢。
dependency-injection - 在 ServiceStack API 应用程序中使用的正确“每个请求”简单注入器生活方式是什么?
我有一个 ServiceStack API 应用程序,它使用 Simple Injector 作为其 IoC 容器。我需要某些组件来拥有“按网络请求”的生活方式。
我在这里查看了 Simple Injector 文档,发现它没有一种,而是两种与“每个网络请求”相对应的生活方式:
- 每个网络请求
- 每个 Web API 请求
这让我很困惑,因为我一直认为所有 ASP.NET 应用程序都使用相同的基本管道,并且 IoC 容器通过插入 HTTP 模块来实现每个 Web 请求。为什么这对于 Web API 应用程序会有所不同?
谁能阐明哪个最适合 ServiceStack API 应用程序?
dependency-injection - LightInject PerWebRequest 拦截
这是特定于 LightInject 的拦截。是否可以基于 PerWebRequest 生命周期应用拦截逻辑,以便可以根据用户输入有条件地打开/关闭拦截逻辑?例如像这样的东西。
现在因为 IMyService 生命周期被定义为 PerWebRequest 所以它是为每个 Web 请求创建的,我的印象是它每次创建 MyService 实例时也会调用 Intercept 方法,以便它可以根据跟踪是否启用动态决定应用拦截逻辑或被用户禁用。但是,当请求 IMyService 实例时,它似乎只调用一次 Intercept 方法,并且对于所有后续请求,它重用相同的拦截机制。
我也知道我可以在 MyServiceInterceptor 中使用 ITraceSwitcher 逻辑,然后决定在那里使用或绕过拦截逻辑,但我想避免在禁用跟踪时创建代理,以避免通过反射产生代理调用的开销,但这只有在 Intercept 时才有可能为每个 Web 请求调用方法。请让我知道它是否可行或有更好的方法?
谢谢,
赛义德丹麦人。
c# - 如何在 OWIN 中使用 Castle Windsor 的 PerWebRequest 生活方式
我正在将现有的 ASP .Net Web API 2 项目转换为使用 OWIN。该项目使用 Castle Windsor 作为依赖项注入框架,其中一个依赖项设置为使用 PerWebRequest 生活方式。
当我向服务器发出请求时,我得到了一个Castle.MicroKernel.ComponentResolutionException
例外。异常建议将以下内容添加到配置文件中的system.web/httpModules
and部分:system.WebServer/modules
这不能解决错误。
从 SimpleInjector 的 OWIN 集成提供的示例中获得灵感,我尝试使用以下方法在 OWIN 启动类中设置范围(以及更新依赖项的生活方式):
不幸的是,这也没有奏效。
如何使用 Castle Windsor 的 PerWebRequest 生活方式或在 OWIN 中模拟它?
dependency-injection - 每个 Web 请求的生命周期如何在 IoC 库中工作
我想用我想要的任何语言实现 DI。因此,我必须知道生命周期在控制反转中是如何工作的。
例如要实现单例,我可以有一个静态集合来提供相同的实例
现在我想知道我们何时在每个 Web 请求使用的 IoC 库中,我们如何区分请求是否是新的?或者任何请求是否有一个我们可以识别的唯一 ID!