功能应用无法以空配置错误运行
在Visual Studio中开发了读取api响应的功能。 当在本地运行时,它可以正常工作,但是当作为azure函数应用发布时,则不能工作
下面是我的输入函数,该函数在传入的HTTP请求上运行:
public static async Task<Bolean> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
预期可以正常运行。错误代替 该请求没有关联的配置对象,或者提供的配置为空。
答案 0 :(得分:0)
System.InvalidOperationException:该请求没有关联的配置对象,或者提供的配置为空。
在http服务器外测试请求时,您需要给请求一个HttpConfiguration
。
要解决此问题,我们需要通过“属性”字典添加一个HttpConfiguration
对象,如下所示:
var configuration = new HttpConfiguration();
var request = new System.Net.Http.HttpRequestMessage();
req.Properties[System.Web.Http.Hosting.HttpPropertyKeys.HttpConfigurationKey] = configuration;
有关更多详细信息,您可以参考此article。
答案 1 :(得分:0)
我有一个类似的问题。发布此解决方案以防万一。
我在Visual Studio中添加了一个普通的Azure Function App项目,当它在我的本地计算机上运行时,我一直从部署的Azure版本中收到500个内部服务器错误。
在发布有效的请求正文时,使用邮差调用函数或使用Code + Test
部分时,错误响应是相同的。
关联的Application Insights跟踪显示了以下错误详细信息:
最适合我的解决方案是将Runtime version
(您的Function App> Configuration
> Function runtime settings
> Runtime version
)从当前的默认值{{1} }到~3
。
更改此值会触发Azure中服务的重新启动,并解决了500个内部服务器错误。
此How to target Azure Functions runtime versions docs.microsoft.com链接具有有关此设置的更多详细信息。