Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
C# ServiceStack X-HTTP-Method-Override_C#_Asp.net_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,C#,Asp.net,servicestack" /> servicestack,C#,Asp.net,servicestack" />

C# ServiceStack X-HTTP-Method-Override

C# ServiceStack X-HTTP-Method-Override,c#,asp.net,servicestack,C#,Asp.net,servicestack,我有一个ServiceStack web服务,它需要支持X-HTTP-Method-Override头 我尝试通过设置了X-HTTP-Method-Override头的获取请求来模拟删除请求,但我得到了一个:- 404 - Handler for Request not found 以下是请求格式: Get - http://localhost/test/1 标题 该服务及其DTO实现如下所示: [Route("/test/{id}", HttpMethods.Delete)] public

我有一个ServiceStack web服务,它需要支持X-HTTP-Method-Override头

我尝试通过设置了X-HTTP-Method-Override头的获取请求来模拟删除请求,但我得到了一个:-

404 - Handler for Request not found
以下是请求格式:

Get - http://localhost/test/1
标题

该服务及其DTO实现如下所示:

[Route("/test/{id}", HttpMethods.Delete)]
public class TestRequest {
    public int id { get; set; }
}

public class TestService : Service {

    public object Delete(TestRequest request){
        return request.id;
    }
}
我在ServiceStack源代码中发现了一个表示支持X-HTTP-Method-Override功能的


我是否需要在项目中配置其他东西才能使其正常工作?请帮帮忙…

我想出来了,我在请求数据中添加了Get动词,如下所示:

[Route("/test/{id}", "Delete,Get")]
public class TestRequest {
    public int id { get; set; }
}
现在,当通过X-HTTP-method-Override通过Get请求模拟时,将调用Delete方法

public class TestService : Service {

    public object Delete(TestRequest request){
        return request.id;
    }
}

我明白了,我将Get动词添加到请求数据中,如下所示:

[Route("/test/{id}", "Delete,Get")]
public class TestRequest {
    public int id { get; set; }
}
现在,当通过X-HTTP-method-Override通过Get请求模拟时,将调用Delete方法

public class TestService : Service {

    public object Delete(TestRequest request){
        return request.id;
    }
}