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 での動作をテストしたいだけです。ありがとう

編集:

Tom Sun の返信どおりに実行しましたが、結果は同じです。彼の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.GetEnvironmentVariableまたはConfigurationManager.AppSettingsを使用します。JavaScript では、process.env を使用します。システム環境変数として指定された設定は、local.settings.json ファイルの値よりも優先されます。

アップデート:

There is no need to provide the cors and sql connectionstring if it is not required and the default local http port is 7071. Azure Functions をローカルで開発およびテストする方法については、このドキュメントを参照してください。VS で開発する方法については、 Azure Functions Tools for Visual Studioを参照してください。

于 2018-02-27T05:54:03.243 に答える