Azure functions 2.0版函数中的HttpResponseMessage支持

Azure functions 2.0版函数中的HttpResponseMessage支持,azure-functions,Azure Functions,在我的v1.0azure函数解决方案中,我大量利用了类库(最终是托管在Azure工件中的定制Nuget包)。我现在对在v2.0函数中重新使用这些类库感兴趣,以获得对内部应用程序的Docker支持。我目前遇到了一个问题,v2.0不支持HttpResponseMessage对象。这是一个问题,因为HttpResponseMessage对象是在类库本身中生成的。有没有什么简单的方法可以解决这个问题(即某种垫片)?是的,默认值是HttpRequest对象,而不是HttpResponseMessage,返

在我的v1.0azure函数解决方案中,我大量利用了类库(最终是托管在Azure工件中的定制Nuget包)。我现在对在v2.0函数中重新使用这些类库感兴趣,以获得对内部应用程序的Docker支持。我目前遇到了一个问题,v2.0不支持HttpResponseMessage对象。这是一个问题,因为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%奏效。非常感谢。