- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Web Api,我决定使用自定义 DependencyResolver。我引用 this [Dependency Injection for Web API Controllers]文章。到目前为止,在将依赖项注入(inject) Controller 方面,一切都运行良好。我的 Owin 启动类中的配置代码片段
private void RegisterIoC(HttpConfiguration config)
{
_unityContainer = new UnityContainer();
_unityContainer.RegisterType<IAccountService, AccountService>();
.........
.........
config.DependencyResolver = new UnityResolver(_unityContainer);
}
"Exception occurred while: while resolving.
Exception is: InvalidOperationException -
The current type, System.Web.Http.Hosting.IHostBufferPolicySelector,
**is an interface and cannot be constructed. Are you missing a type mapping?**"
System.Web.Http.Hosting.IHostBufferPolicySelector
System.Web.Http.Tracing.ITraceWriter
System.Web.Http.Metadata.ModelMetadataProvider
System.Web.Http.Tracing.ITraceManager
System.Web.Http.Dispatcher.IHttpControllerSelector
System.Web.Http.Dispatcher.IAssembliesResolver
System.Web.Http.Dispatcher.IHttpControllerTypeResolver
System.Web.Http.Controllers.IHttpActionSelector
System.Web.Http.Controllers.IActionValueBinder
System.Web.Http.Validation.IBodyModelValidator
System.Net.Http.Formatting.IContentNegotiator
System.Web.Http.Dispatcher.IHttpControllerActivator
System.Web.Http.Validation.IModelValidatorCache
System.Web.Http.Controllers.IHttpActionInvoker
最佳答案
我在使用 Unity 和 WebApi 和 OWIN/Katana 时遇到了同样的问题。
我的解决方案是使用 Unity.WebApi Nuget 包中定义的 UnityDependencyResolver 而不是我自己的自定义实现(如上面的@Omar Alani)
Install-Package Unity.WebAPI
GlobalConfiguration.Configuration.DependencyResolver
注册容器。这不是我们想要的 OWIN。
GlobalConfiguration.Configuration.DependencyResolver = new UnityDependencyResolver(container);
config.DependencyResolver = new UnityDependencyResolver(container);
public static class UnityConfig
{
public static void Register(HttpConfiguration config)
{
var container = new UnityContainer();
// Your mappings here
config.DependencyResolver = new UnityDependencyResolver(container);
}
}
[assembly: OwinStartup(typeof(UnityTest.BusinessLayer.Api.ApiStartup))]
namespace UnityTest.BusinessLayer.Api
{
public partial class ApiStartup
{
public void Configuration(IAppBuilder app)
{
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
HttpConfiguration httpConfig = new HttpConfiguration();
UnityConfig.Register(httpConfig);
ConfigureAuth(app); //In App_Start ->Startup.Auth
WebApiConfig.Register(httpConfig);
app.UseWebApi(httpConfig);
}
}
}
关于dependency-injection - 使用 IDependencyResolver 实现的 Web Api 启动异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24114970/
我正在设计对遗留 ASP.NET 应用程序的一些架构更改。我为模仿 ASP.NET MVC 的 IDependencyResolver 的依赖关系解析制作了一些类的原型(prototype)。我不会发
我有一点误解:当我们实现 IDependencyResolver 时,这意味着我们可以在项目的每个部分使用 DI。因此,即使我不从 DefaultControllerFactory 继承,我也可以构建
为什么 IDependencyResolver 与 System.Web 程序集(Mvc 或 Http ) 在 .NET 框架中? DI 系统的目标不是应该提供一种不可知的方式来为客户提供依赖项吗?如
我正在开发一个 Web Api,我决定使用自定义 DependencyResolver。我引用 this [Dependency Injection for Web API Controllers]文
我在 MVC(基础书籍)中阅读了有关 IDependencyResolver 的内容,但我不知道 mvc 中的 DependencyResolver 到底是什么? 有人可以解释一下这些方法吗? 最佳答
我在 MVC(基础书籍)中阅读了有关 IDependencyResolver 的内容,但我不知道 mvc 中的 DependencyResolver 到底是什么? 有人可以解释一下这些方法吗? 最佳答
我们可以通过实现 IDependencyResolver 或扩展 DefaultControllerFactory 在 MVC 中进行 DI 我之前一直认为这两种不同的方式做起来没有太大的区别。 然而
各位! 我在使用 MVC3 IDependencyResolver 从 Unity 2.0 解析命名注册时遇到问题。 我将类型注册配置为 public class Implementations {
最近我遇到了这个讨论。 在 ASP.NET WebAPI 中,当我们需要集成自定义控制反转/依赖注入(inject)容器时,我们需要采用两种不同的策略: 实现 IHttpControllerActiv
在使用 Unity 进行依赖注入(inject)时,我对 MVC 的 IDependencyResolver.GetServices 的实现有疑问。 可以找到几个示例实现,其中大部分已经实现以解决 U
我正在尝试使用 HttpSelfHostServer 自托管 ASP.NET MVC 4 WebAPI。一切都很好,我尝试添加自定义依赖解析器。 (最终这将使用 StructureMap,但我还没有达
我读了 this article看到很多人评论说不要使用 CaSTLe Windsor 在 ASP.NET MVC3 中实现 IDependencyResolver 并坚持使用自定义 IControl
我是一名优秀的程序员,十分优秀!