我有一个功能,它可以读取"应用程序设置"这是男子气概的钥匙。它在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'和
答案 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.GetEnvironmentVariable或ConfigurationManager.AppSettings。在JavaScript中,使用process.env。指定为系统环境变量的设置优先于local.settings.json文件中的值。
<强>更新强>
如果不是,则无需提供cors和sql connectionstring 必需且默认本地http端口为7071.如何在本地开发和测试Azure功能,请参阅此document。如何使用VS开发请参考Azure Functions Tools for Visual Studio。