C# Azure函数-返回类型HttpResponseMessage和IActionResult之间的差异
我已经创建了Http触发器Azure函数,它的默认返回类型是C# Azure函数-返回类型HttpResponseMessage和IActionResult之间的差异,c#,azure,azure-functions,C#,Azure,Azure Functions,我已经创建了Http触发器Azure函数,它的默认返回类型是Task 如果我将其更改为任务,有什么区别吗 带有任务的Azure函数返回类型: public static async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req, 公共静态异步任务运行( [HttpTrigger(Authori
Task
如果我将其更改为任务
,有什么区别吗
带有任务的Azure函数
返回类型:
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
公共静态异步任务运行(
[HttpTrigger(AuthorizationLevel.Function,“post”,Route=null)]HttpRequest请求,
Azure函数与任务
公共静态异步任务运行(
[HttpTrigger(AuthorizationLevel.Function,“post”,Route=null)]
HttpRequestMessage消息,
使用IHttpActionResult
界面有两个主要优点
BadRequest()
Conflict()
Created()
InternalServerError()
Redirect()
Unauthorized()
static List<Student> students = new List<Student>()
{
new Student() { Id = 1, Name = "Tom" },
new Student() { Id = 2, Name = "Sam" },
new Student() { Id = 3, Name = "John" }
};
public IHttpActionResult Get()
{
return Ok(students);
}
public HttpResponseMessage Get(int id)
{
var student = students.FirstOrDefault(s => s.Id == id);
if (student == null)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound,
"Student not found");
}
return Request.CreateResponse(student);
}
我参考了这个链接使用
IHttpActionResult
界面有两个主要优点
BadRequest()
Conflict()
Created()
InternalServerError()
Redirect()
Unauthorized()
static List<Student> students = new List<Student>()
{
new Student() { Id = 1, Name = "Tom" },
new Student() { Id = 2, Name = "Sam" },
new Student() { Id = 3, Name = "John" }
};
public IHttpActionResult Get()
{
return Ok(students);
}
public HttpResponseMessage Get(int id)
{
var student = students.FirstOrDefault(s => s.Id == id);
if (student == null)
{
return Request.CreateErrorResponse(HttpStatusCode.NotFound,
"Student not found");
}
return Request.CreateResponse(student);
}
我参考了这个链接
如果我将任务
更改为任务
,有什么区别吗
您可以使用任务
作为函数的返回类型。使用它执行时应该不会有问题
话虽如此,使用这两种方法的区别在于从函数返回响应的方式
- 如果是
类型的响应,则代码较少 在构造响应时进行写入,并进行单元测试 更简单IActionResult
- 另一方面,
提供了对 通过网络发送的Http响应消息HttpResponseMessage
HttpTrigger
Azure函数v1.0
中,类型Task
和HttpRequestMessage
分别用作返回类型和请求类型的默认值
从v2.0
开始,类型Task
和HttpRequest
分别用作默认返回类型和请求类型,因为它符合.net核心API结构
如果我将任务
更改为任务
,有什么区别吗
您可以使用任务
作为函数的返回类型。使用它执行时应该不会有问题
话虽如此,使用这两种方法的区别在于从函数返回响应的方式
- 如果是
类型的响应,则代码较少 在构造响应时进行写入,并进行单元测试 更简单IActionResult
- 另一方面,
提供了对 通过网络发送的Http响应消息HttpResponseMessage
HttpTrigger
Azure函数v1.0
中,类型Task
和HttpRequestMessage
分别用作返回类型和请求类型的默认值
从
v2.0
开始,类型Task
和HttpRequest
分别被用作默认返回类型和请求类型,因为它符合.net核心API结构。检查此链接,希望它能帮助您的请求。检查此链接,希望它能帮助您的请求。