1

我有一个读取“应用程序设置”的功能,它是男子气概的键。它在 Azure 中运行良好,但是当我通过 VS 在本地运行它时出现错误:

[27/02/2018 5:39:14 AM] A ScriptHost error has occurred
[27/02/2018 5:39:14 AM] Exception while executing function: GetFile. OOPInteg: Object reference not set to an instance of an object.
[27/02/2018 5:39:14 AM] Exception while executing function: GetFile
[27/02/2018 5:39:14 AM] Exception while executing function: GetFile. OOPInteg: Object reference not set to an instance of an object.
[27/02/2018 5:39:14 AM] Function completed (Failure, Id=463f7a76-b34c-42ba-aa84-ca1b496da288, Duration=61ms)
[27/02/2018 5:39:14 AM]

我也使用相同的键在本地添加了 App.config ,但这并没有什么不同。请指导我如何解决它。我只是想测试它,因为它在 Azure 中工作。谢谢

编辑:

我按照汤姆孙的回复做了,但结果是一样的。复制了他的 json 文件,只更改了它的“AzureWebJobsStorage”和“AzureWebJobsDashboard”,但运行时效果相同。请帮忙。

4

1 回答 1

2

如果要在本地运行 Azure 功能,可以在local.settings.json中配置“应用程序设置” 。

文件 local.settings.json 存储 Azure Functions Core Tools 的应用设置、连接字符串和设置。它具有以下结构:JSON

{
  "IsEncrypted": false,   
  "Values": {
    "AzureWebJobsStorage": "<connection string>", 
    "AzureWebJobsDashboard": "<connection string>" 
  },
  "Host": {
    "LocalHttpPort": 7071, 
    "CORS": "*" 
  },
  "ConnectionStrings": {
    "SQLConnectionString": "Value"
  }
}

这些设置也可以在您的代码中作为环境变量读取。在 C# 中,使用System.Environment.GetEnvironmentVariableConfigurationManager.AppSettings。在 JavaScript 中,使用 process.env。指定为系统环境变量的设置优先于 local.settings.json 文件中的值。

更新:

不需要提供cors和sql连接字符串,默认本地http端口为7071。如何在本地开发和测试Azure Functions,请参考此文档。如何使用 VS 进行开发请参考Azure Functions Tools for Visual Studio

于 2018-02-27T05:54:03.243 回答