Azure functions 2.0版函数中的HttpResponseMessage支持
在我的v1.0azure函数解决方案中,我大量利用了类库(最终是托管在Azure工件中的定制Nuget包)。我现在对在v2.0函数中重新使用这些类库感兴趣,以获得对内部应用程序的Docker支持。我目前遇到了一个问题,v2.0不支持HttpResponseMessage对象。这是一个问题,因为HttpResponseMessage对象是在类库本身中生成的。有没有什么简单的方法可以解决这个问题(即某种垫片)?是的,默认值是Azure functions 2.0版函数中的HttpResponseMessage支持,azure-functions,Azure Functions,在我的v1.0azure函数解决方案中,我大量利用了类库(最终是托管在Azure工件中的定制Nuget包)。我现在对在v2.0函数中重新使用这些类库感兴趣,以获得对内部应用程序的Docker支持。我目前遇到了一个问题,v2.0不支持HttpResponseMessage对象。这是一个问题,因为HttpResponseMessage对象是在类库本身中生成的。有没有什么简单的方法可以解决这个问题(即某种垫片)?是的,默认值是HttpRequest对象,而不是HttpResponseMessage,返
HttpRequest
对象,而不是HttpResponseMessage
,返回类型是IActionResult/ObjectResult
对象,而不是HttpRequestMessage
的扩展方法。我想您可以使用HttpRequest
获取返回对象
但是,如果您想要返回一条HttpResponseMessage
,它仍然是可以实现的。将返回类型更改为HttpResponseMessage
并返回HttpResponseMessage
下面是我的测试代码,也许你可以试试
public static class Function1
{
[FunctionName("Function1")]
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
var myObj = new { name = "george"};
var jsonToReturn = JsonConvert.SerializeObject(myObj);
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent(jsonToReturn, Encoding.UTF8, "application/json")
};
}
}
公共静态类函数1
{
[功能名称(“功能1”)]
公共静态异步任务运行(
[HttpTrigger(AuthorizationLevel.Function,“get”,“post”,Route=null)]HttpRequest请求,
ILogger日志)
{
LogInformation(“C#HTTP触发器函数处理了一个请求。”);
var myObj=new{name=“george”};
var jsontoreurn=JsonConvert.SerializeObject(myObj);
返回新的HttpResponseMessage(HttpStatusCode.OK)
{
Content=newstringcontent(jsontoreurn,Encoding.UTF8,“application/json”)
};
}
}
是默认值是
HttpRequest
对象,而不是HttpResponseMessage
,返回类型是IActionResult/ObjectResult
对象,而不是HttpRequestMessage
的扩展方法。我想您可以使用HttpRequest
获取返回对象
但是,如果您想要返回一条HttpResponseMessage
,它仍然是可以实现的。将返回类型更改为HttpResponseMessage
并返回HttpResponseMessage
下面是我的测试代码,也许你可以试试
public static class Function1
{
[FunctionName("Function1")]
public static async Task<HttpResponseMessage> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
var myObj = new { name = "george"};
var jsonToReturn = JsonConvert.SerializeObject(myObj);
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent(jsonToReturn, Encoding.UTF8, "application/json")
};
}
}
公共静态类函数1
{
[功能名称(“功能1”)]
公共静态异步任务运行(
[HttpTrigger(AuthorizationLevel.Function,“get”,“post”,Route=null)]HttpRequest请求,
ILogger日志)
{
LogInformation(“C#HTTP触发器函数处理了一个请求。”);
var myObj=new{name=“george”};
var jsontoreurn=JsonConvert.SerializeObject(myObj);
返回新的HttpResponseMessage(HttpStatusCode.OK)
{
Content=newstringcontent(jsontoreurn,Encoding.UTF8,“application/json”)
};
}
}
很抱歉耽搁了。。。不小心被其他一些东西吞没了。这100%奏效。谢谢。很抱歉耽搁了。。。不小心被其他一些东西吞没了。这100%奏效。非常感谢。