问题标签 [ninject.web.mvc]
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.
.net - 在自定义授权属性中使用 Ninject
我正在使用 Ninject 在我的自定义授权属性中注入我的依赖项:
我的模块:
我正在尝试搜索有关我的问题的一些文档,但没有找到。
我的问题是关于BindFilter
方法中的第二个参数:int? order
. 这是什么意思?
我看到的所有示例都有一个0
with 参数(就像这个问题Dependency Injection with Ninject and Filter attribute for asp.net mvc)。但在我的情况下,属性注入仅适用于null
.
asp.net-mvc - 带有 NinjectHttpApplication 和 MEF 的 Asp Mvc 3
我使用 Ninject 作为我的 MVC 控制器工厂,但我也通过 MEF 加载某些路由和控制器,这些控制器需要能够向 Ninject 注册自己:
所以动态添加的路由可以被拾取。
到目前为止,我能想到的唯一方法是将内部内核暴露在 Web 应用程序之外,但这似乎有点讨厌,而且NinjectHttpApplication.Kernel
似乎已经过时了。
有没有其他人设法做到这一点?
asp.net-mvc - 来自外部程序集的 Ninject MVC 控制器
我在外部程序集中有一些控制器,例如:
然后在我的主 mvc 程序集中执行以下操作:
现在我遇到的问题是,我目前在尝试访问该路由时得到 404,即使调试的路由显示它与该路由匹配。我只是假设它默认使用内置的 MVC 控制器工厂来处理找不到的类型。有没有办法解决这个问题......因为目前我的大多数路由和控制器都是由 MEF 在运行时注入的......
asp.net-mvc-3 - 将 Ninject 与自定义 WebViewPage 类型一起使用
我在我的应用程序中使用 ASP.NET MVC 3 + Ninject,它与我的控制器配合得很好。
我还有一个从 WebViewPage 继承的自定义基页类, 并且我已经设置了一个接口,我希望将其注入到该自定义基页类中。
但是,它不起作用(我的接口为空),我认为这是因为 Ninject 不知道 System.Web.Mvc.MvcWebRazorHostFactory 我怀疑它必须以某种方式覆盖或拦截。
谁能指出我如何允许我的自定义 WebViewPage 使用 DI 的正确方向?
ninject - 拦截 ABase 类,而实现基类 A 和独立接口 IC 的 Child 类用于绑定
拦截一个 ABase 类,而实现基类 A 和一个独立接口 IC 的 Child 类用于绑定。
当我在 A 中有一个属性将在代理对象中设置为 null 时,问题就出现了,而在代理对象的实例中,该属性在调试视图中具有正确的值。
确切地说,我将链接添加到 包含实际代码的要点https://gist.github.com/424637484504b89789d6 。
如果有人可以帮助我,我将不胜感激。
干杯,贾尼
asp.net-mvc-3 - 让 SNAP AOP 框架与 Ninject MVC 3 一起工作
我想在我的 MVC3 应用程序中使用 Snap 尝试 SOA 风格的日志记录。我将 Ninject 用于 IoC,因此通过 Nuget 安装了 Ninject.MVC 和 Snap.Ninject 都查看了 GitHub 中 Snap.Ninject 的示例代码。我还阅读了Getting SNAP(AOP)、NInject 和 ASP.Net MVC 3 一起工作, 这似乎正是我想要的。
我已经相应地更新了我的 NinjctMVC3.cs,但是当我将拦截器属性添加到我的方法时,我从 Snap AspectUtility 收到一个对象引用错误。这是我的 NinjectMVC3.cs
和控制器
以及具有拦截属性的方法的工厂类
这会导致以下异常
[NullReferenceException: 对象引用未设置为对象的实例。] Snap.AspectUtility.CreateProxy(Type interfaceType, Object instanceToWrap, IInterceptor[] 拦截器) +29 Snap.AspectUtility.CreatePseudoProxy(IMasterProxy proxy, Type interfaceType, Object instanceToWrap) + 184 Snap.Ninject.AspectProxyActivationStrategy.Activate(IContext context, InstanceReference 参考) +376 Ninject.Activation.<>c__DisplayClass2.b__0(IActivationStrategy s) 在 c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation\ Pipeline.cs:58 Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map(IEnumerable1 series, Action
1 个动作)在 c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Infrastructure\Language\ExtensionsForIEnumerableOfT.cs:23 Ninject.Activation.Pipeline.Activate(IContext context, InstanceReference reference) in c:\Projects\ Ninject\Maintenance2.2\ninject\src\Ninject\Activation\Pipeline.cs:58 Ninject.Activation.Context.Resolve() 在 c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation\Context 中。 c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\KernelBase.cs:182 Ninject.KernelBase.b__7(IContext 上下文):375 System.Linq.<>c__DisplayClass12 3.<CombineSelectors>b__11(TSource x) +32
System.Linq.WhereSelectEnumerableIterator
2.MoveNext() +151 System .Linq.Enumerable.SingleOrDefault(IEnumerable 1 source) +4178557
Ninject.Planning.Targets.Target
1.GetValue(Type service, IContext parent) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Planning\Targets\Target.cs:179 Ninject.Planning.Targets 。目标1.ResolveWithin(IContext parent) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Planning\Targets\Target.cs:147
Ninject.Activation.Providers.StandardProvider.GetValue(IContext context, ITarget target) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation\Providers\StandardProvider.cs:97
Ninject.Activation.Providers.<>c__DisplayClass2.<Create>b__1(ITarget target) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation\Providers\StandardProvider.cs:81
System.Linq.WhereSelectArrayIterator
2.MoveNext() +85 System.Linq.Buffer 1..ctor(IEnumerable
1 源) +325 System.Linq.Enumerable.ToArray(IEnumerable 1 source) +78
Ninject.Activation.Providers.StandardProvider.Create(IContext context) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation\Providers\StandardProvider.cs:81
Ninject.Activation.Context.Resolve() in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\Activation\Context.cs:157
Ninject.KernelBase.<Resolve>b__7(IContext context) in c:\Projects\Ninject\Maintenance2.2\ninject\src\Ninject\KernelBase.cs:375
System.Linq.<>c__DisplayClass12
3.b__11(TSource x) +32 System.Linq.WhereSelectEnumerableIterator 2.MoveNext() +151
System.Linq.Enumerable.SingleOrDefault(IEnumerable
1 源) +4178557 Ninject.Web.Mvc .NinjectDependencyResolver.GetService(Type serviceType) 在 c:\Projects\Ninject\Maintenance2.2\ninject.web.mvc\mvc3\src\Ninject.Web.Mvc\NinjectDependencyResolver.cs:56 System.Web.Mvc.DefaultControllerActivator.Create (RequestContext requestContext,类型控制器类型)+51
提前致谢。我想要一个失败的工作演示然后让我知道。
asp.net-mvc - MVC 3 ninject 绑定惰性评估参数
我想用一个惰性求值的参数绑定我的控制器。
我有下一个绑定:
问题出在 lambda 函数上。我想返回 Server.MapPath("/") ...但我在 c 对象中没有请求上下文。我怎样才能发送它?
asp.net-mvc-3 - MVC 3 使用 Ninject 注入控制器
我似乎找不到直接从单独的项目中注入控制器的示例。以前在 Spring.net 中,我会将以下内容添加到 Global.asax
然后只需将条目添加到 xml <object name="Shared" type="..."/>
有人可以概述一下使用最新版本的 Ninject 和 MVC3 完成此操作所需的步骤吗?或一个例子的链接?
另外,我想对 Views 做一些类似的事情(将它们放在一个单独的项目中),Ninject 可以帮助我吗?
任何帮助表示赞赏。
c# - Ninject MVC3 中 Action 方法参数的依赖注入
我想使用 NInject.MVC3 来解析在控制器上调用 Action 方法时要实例化哪个具体类。例如:
显然,如果没有依赖注入,MVC3 无法实例化 IMyModelInterface,但我可以将该接口绑定到实现该接口的具体类。
我已经尝试过了,只是从试图实例化接口的 MVC 框架中得到错误。
那么,首先,这是一件坏事吗?
如果这不是一件愚蠢的事情,我该怎么做?
如果这是一件坏事,我该怎么做。我考虑过使用 ViewModel 然后复制参数?我有点不愿意这样做,因为我的模型包含视图要使用的所有很好的验证属性 - 并且必须在 ViewModel 中复制它,这似乎增加了维护开销。
我已经看到了使用 Autofac执行此操作的 SO 问题。
我正在使用 Nuget 包中最新版本的 NInject 和 NInject.MVC3。
ninject.web.mvc - NinjectMVC3 和 ModelValidatorProviders
我有一个 MVC3 项目,我使用 NinjectMVC3 进行依赖注入 - 到目前为止一切都很好。最近,我想本地化应用程序中的所有文本,从我看到的所有选项中,这里提供的选项似乎是最干净的。如果不与默认的 NinjectMVC3 设置同时使用,则此解决方案非常适合。
但是,当将 NinjectMVC3 添加到项目中时,会为任何用 [Required] 属性修饰的属性显示以下错误(和 YSOD):不显眼的客户端验证规则中的验证类型名称必须是唯一的。多次看到以下验证类型:必需
根据错误,看起来有 2 个或更多验证器提供程序注册到 ModelValidatorProvidersCollection。
注意:在 web.config 中,存在以下设置用于客户端不显眼的验证,我想以这种方式保留它们:
有谁知道如何克服这个问题?