0

函数应用无法运行并出现空配置错误

在 Visual Studio 中开发了读取 api 响应的功能。在本地运行时它工作正常,但在发布为 azure 函数应用程序时不起作用

下面是我的入口函数,它在传入的 http 请求上运行:

public static async Task<Bolean> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)

预计运行良好.. 错误改为 请求没有关联的配置对象或提供的配置为空。

4

2 回答 2

0

System.InvalidOperationException:请求没有关联的配置对象或提供的配置为空。

在 httpserver 之外测试请求时,您需要为请求提供HttpConfiguration.

为了解决这个问题,我们需要HttpConfiguration通过 Properties 字典添加一个对象,如下所示:

var configuration = new HttpConfiguration();
var request = new System.Net.Http.HttpRequestMessage();
req.Properties[System.Web.Http.Hosting.HttpPropertyKeys.HttpConfigurationKey] = configuration;

更多细节,你可以参考这篇文章

于 2019-05-20T06:31:48.713 回答
0

我有一个类似的问题。发布此解决方案以防它对任何人有帮助。

我在 Visual Studio 中添加了一个普通的 Azure Function App 项目,当它在我的本地计算机上运行时,我不断收到来自已部署 Azure 版本的 500 Internal Server 错误。

Code + Test使用 Postman 调用函数或在POST 有效请求正文时使用该部分时,错误响应是相同的。

在此处输入图像描述

在此处输入图像描述

关联的 Application Insights 跟踪显示错误详细信息如下: 在此处输入图像描述

对我有用的解决方案是将Runtime version(您的 Function App > Configuration> Function runtime settings> Runtime version)从当前默认值~3更改为~1

在此处输入图像描述

更改此值会触发 Azure 中的服务重新启动,并且 500 内部服务器错误已解决。

在此处输入图像描述

如何定位 Azure Functions 运行时版本docs.microsoft.com 链接包含有关此设置的更多详细信息。

于 2020-11-25T00:50:16.200 回答