.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;
}

也许??

谢谢你在这方面的帮助!!

.net web api RESTFul web服务引导程序

该代码已经严重过时。它基于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()
    {
    }
}