.net web api RESTFul web服务引导程序
本文关键字:web 引导程序 服务 api net RESTFul | 更新日期: 2023-09-27 17:57:53
我正在尝试创建一个REST服务来管理一些DB表,所以因为我是C#和.NET的新手,所以我从阅读教程开始,我遇到了这个很好的起点tuthttp://www.codeproject.com/Articles/426769/Creating-a-REST-service-using-ASP-NET-Web-API
它展示了我如何创建一些控制器,在这种情况下处理一个简单的任务列表,所以我想为每个表创建一个控制器,并为每个表实现GET、POST、PUT等
我现在的问题在Global.asax.cs文件的末尾,我有这个
GlobalConfiguration.Configuration.ServiceResolver.SetResolver
(
t =>
{
if (t == typeof(TasksController))
{
return new TasksController(new TaskRepository());
}
return null;
},
t => new List<object>()
);
它初始化了我的依赖项,但是。。。
首先,由于某种原因(我认为这与框架版本有关),ServiceResolver类不存在,为什么??和
第二,即使存在,我需要如何编写代码来创建和初始化其余的控制器??
t =>
{
if (t == typeof(TasksController))
{
return new TasksController(new TaskRepository());
}
if (t == typeof(OtherController))
{
return new OtherController();
}
if (t == typeof(OneMoreController))
{
return new OneMoreController();
}
return null;
}
也许??
谢谢你在这方面的帮助!!
该代码已经严重过时。它基于Web API的预览版。在Web API的最终版本中,依赖项注入的正确配置挂钩是
config.DependencyResolver = new MyDependencyResolver();
public class MyDependencyResolver : IDependencyResolver
{
public IDependencyScope BeginScope()
{
// return a different instance if you want to dispose resources
return this;
}
public object GetService(Type serviceType)
{
if (t == typeof(TasksController))
{
return new TasksController(new TaskRepository());
}
if (t == typeof(OtherController))
{
return new OtherController();
}
if (t == typeof(OneMoreController))
{
return new OneMoreController();
}
return null;
}
public IEnumerable<object> GetServices(Type serviceType)
{
return null;
}
public void Dispose()
{
}
}