use*_*562 5 asp.net rest dependency-injection interface asp.net-web-api
我正在使用 ASP.NET WebAPI 构建 REST API。一切工作正常,但后来我想到了在所有方法调用中使用接口的好主意。更改所有方法后,我注意到将控制器方法中的参数设置为接口后,我的 API 调用不起作用。我正在使用 OWIN Self 主机和 Unity 依赖注入。这是我的相关代码:
解决我的界面:
IUnityContainer container = new UnityContainer();
container.RegisterType<IMyInterface, MyInterfaceImpl>(new HierarchicalLifetimeManager());
HttpConfiguration config = new HttpConfiguration();
config.DependencyResolver = new UnityDependencyResolver(container);
Run Code Online (Sandbox Code Playgroud)
我的控制器(我收到错误的部分)
[Route("test")]
[HttpGet]
public HttpResponseMessage GetSomeData([FromUri]IMyInterface searchObject)
{
return this._searchService.SearchForData(searchObject);
}
Run Code Online (Sandbox Code Playgroud)
调用此方法时,出现无法创建接口的错误。我理解这一点,但问题是解决它。我查看了使用接口而不是具体类的 ASP.NET Web API 操作,还查看了https://brettedotnet.wordpress.com/2014/07/16/web-api-and-interface-parameters/和ASP.NET Web API使用接口而不是具体类进行操作,但在我的情况下,所有建议都不起作用(总是收到无法创建接口的错误)。
我想知道是否有人有一个类似这样的工作示例(在 github 或其他地方)只是为了检查我做错了什么(或者甚至知道我还可以尝试什么会很好)
谢谢
小智 0
也许这会有所帮助:
ASP.NET Web API 中的参数绑定
如何在 MVC/WebAPI 中的操作签名中绑定到自定义对象
您不能使用格式化程序,因为您的数据来自 URI。我认为您可以使用链接中的 Modelbinder 方法。
| 归档时间: |
|
| 查看次数: |
4718 次 |
| 最近记录: |