Сохраните и загрузите настройки приложения-функции в виде объекта JSON с C # и функциями Azure 2.x - PullRequest
0 голосов
/ 08 марта 2019

Настройки приложения ниже сохраняются и читаются, как показано ниже:

Сохранено:

local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "Car_Id": "id",
    "Car_Name": "name"
  }
}

Загружен:

GetEnvironmentVariable("Car_Id");

private static string GetEnvironmentVariable(string name)
    {
        return (string)System.Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)[name];
    }

Можно ли сохранить настройки как объект и загрузить их в объект?

local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet"
  }
  Car: {  
   "Id": "id",
   "Name": "name"
  }
}

class Car{
  public int Id {get;set;}
  public string Name {get;set;}
}

Visual studio 2017

Udpate

Решение должно быть совместимо с настройками в настройках приложения-функции Azure.То есть можно ли сохранить настройки файла local.settngs.json в настройках приложения-функции Azure?

1 Ответ

0 голосов
/ 08 марта 2019

Можно ли сохранить настройки как объект и загрузить их в объект?

Да , вы можете использовать код, приведенный ниже, для его достижения.

  public static async Task<IActionResult> Car(
    [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "Car")]
    HttpRequest httpRequest, ILogger log, ExecutionContext context)
  {
      log.LogInformation("C# HTTP trigger function processed a request.");

      var config = new ConfigurationBuilder()
          .SetBasePath(context.FunctionAppDirectory)
          .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
          .AddEnvironmentVariables()
          .Build();
      var cars= new Car();
      config.Bind("Car", cars);
      var b = cars.Id.ToString();
      log.LogInformation($"Car id is: {b}");
      return (ActionResult)new OkObjectResult($"Hello, {b}");
  }

local.settings.json выглядит следующим образом:

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "xxxxx",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet"
  },
  "Car": {
    "Id": "123456",
    "Name": "name_1"
  }
}

Класс автомобиля:

public class Car
{
    public int Id { get; set; }
    public string Name { get; set; }
}

Снимок:

enter image description here

Для более подробной информации, вы можете обратиться к этой статье .

Надеюсь, она вам поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...