Я создал готовое приложение-функцию Azure с триггером Http Azure.Который дал мне код ниже.Все, что я обновил, я преобразовываю тело HttpRequest в свой класс Helper.
Вот код
public static class TriggerTest
{
[FunctionName("TriggerTest")]
public static IActionResult Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequest req, TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
string name = req.Query["name"];
string requestBody = new StreamReader(req.Body).ReadToEnd();
Helper data = JsonConvert.DeserializeObject<Helper>(requestBody);
name = name ?? data?.value;
return name != null
? (ActionResult)new OkObjectResult($"Hello, {name}")
: new BadRequestObjectResult("Please pass a name on the query string or in the request body");
}
}
public class Helper
{
public string value { get; set; }
}
Когда я пытаюсь запустить его, он компилируется нормально, но затем консоль спамитсяс указанным ниже
Произошла ошибка ScriptHost
System.Private.CoreLib: Исключительная ситуация при выполнении функции: TriggerTest.TestingAzure.FunctionApp: не удалось загрузить файл или сборку 'Newtonsoft.Json, версия = 11.0.0.0, культура = нейтральная, PublicKeyToken = 30ad4fe6b2a6aeed'.Не удалось найти или загрузить определенный файл (исключение из HRESULT: 0x80131621).System.Private.CoreLib: не удалось загрузить файл или сборку 'Newtonsoft.Json, версия = 11.0.0.0, культура = нейтральная, PublicKeyToken = 30ad4fe6b2a6aeed'
Все пакеты Nuget ссылаются на Newtonsoft 11.0.2, на что ссылается Microsoft.NET.Sdk.Functions.Проект представляет собой проект .NET Standard 2.0.Пакеты Nuget, на которые я ссылаюсь:
- Microsoft.ApplicationInsights v2.7.2
- Microsoft.Azure.WebJobs.Extensions v3.0.0.-beta8
- Microsoft.Azure.WebJobs.Extensions.Http v3.0.0-beta8
- Microsoft.Azure.WebJobs.ServiceBus v3.0.0.-beta5
- Microsoft-NET-Sdk-Функции v1.0.19 NETStandard, Библиотека v2.0.3
- Newtonsoft.Json v11.0.2
Я запускаю это локально и еще не тестировал его в Azure, однако мне нужно, чтобы он работал локально для целей тестирования.
Кроме того, CLI, загружаемый из Visual Studio 2017, имеет версию 2.0.1-бета.25
Функции Azure и инструменты веб-заданий для Visual Studio версии 15.10.2009.0