Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net web api 添加到MVC网站Route 404的WebApi控制器_Asp.net Web Api_Asp.net Web Api Routing - Fatal编程技术网

Asp.net web api 添加到MVC网站Route 404的WebApi控制器

Asp.net web api 添加到MVC网站Route 404的WebApi控制器,asp.net-web-api,asp.net-web-api-routing,Asp.net Web Api,Asp.net Web Api Routing,我试图从JavaScript函数调用WebApi方法 通过Fiddler,我可以看到提出的请求是: http://localhost:49601/api/faults?page=1&pageSize=5&filter=&sort=insertedDate+desc 我最初使用MVC模板创建网站(在Visual Studio 2015中)。我后来添加了一个WebApi控制器。我还将现有的WebApiConfig.cs添加到App_Start文件夹中。这一点保持不变: pu

我试图从JavaScript函数调用WebApi方法

通过Fiddler,我可以看到提出的请求是:

http://localhost:49601/api/faults?page=1&pageSize=5&filter=&sort=insertedDate+desc
我最初使用MVC模板创建网站(在Visual Studio 2015中)。我后来添加了一个WebApi控制器。我还将现有的WebApiConfig.cs添加到App_Start文件夹中。这一点保持不变:

public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
我的新WebApi控制器开始如下:

public class FaultsController : ApiController
{
    private ESBContext _context;
    private IRepository<Fault> FaultRepository;
    private static ILog _logger =
        LogManager.GetLogger(
        System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

    public FaultsController(ESBContext context)
    {
        this.FaultRepository = new EFRepository<Fault>(context);
        _context = context;
        _context.Database.Log = (x => _logger.Debug(x));  //send EF queries via log4net
    }

    public IHttpActionResult GetFaults([FromUri]int page, [FromUri]int pageSize, [FromUri]string filter, [FromUri]string sort)
    {
公共类故障控制器:ApiController
{
私有ESBContext\u上下文;
私有i存储库;
专用静态ILog\u记录器=
LogManager.GetLogger(
System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
公共故障控制器(ESBContext上下文)
{
this.FaultRepository=new-EFRepository(上下文);
_上下文=上下文;
_context.Database.Log=(x=>logger.Debug(x));//通过log4net发送EF查询
}
公共IHttpActionResult GetFaults([FromUri]int page、[FromUri]int pageSize、[FromUri]字符串筛选器、[FromUri]字符串排序)
{
当我提出请求时,我得到了一个404。有人能告诉我哪里出了问题吗?

找到了

我需要在Global.asax.cs的应用程序启动方法中添加以下内容:

GlobalConfiguration.Configure(WebApiConfig.Register);