在VS中运行Azure功能并在读取应用程序设置时出错

时间:2018-02-27 05:43:24

标签: azure azure-functions azure-functions-runtime

我有一个功能,它可以读取"应用程序设置"这是男子气概的钥匙。它在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中工作。感谢

编辑:

我已根据Tom Sun的回复做了,但结果是一样的。已经复制了他的json文件只改变了它的AzureWebJobsStorage'和

1 个答案:

答案 0 :(得分:2)

如果要在本地运行Azure功能,可以配置" Applcation设置"在 local.settings.json

  

文件local.settings.json存储Azure功能核心工具的应用程序设置,连接字符串和设置。它具有以下结构: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 connectionstring 必需且默认本地http端口为7071.如何在本地开发和测试Azure功能,请参阅此document。如何使用VS开发请参考Azure Functions Tools for Visual Studio