Как устранить ошибку приложения базовой функции Azure - PullRequest
0 голосов
/ 02 января 2019

Я создал одно приложение базовой функции в VS2017 и попытался запустить выпуск ниже.

Microsoft.Azure.WebJobs.Host: метод индексации ошибок 'Fun ction1.Run. Microsoft.Azure.WebJobs.Host: Невозможно привязать параметр 'log' к типу TraceWriter. Убедитесь, что параметр Type поддерживается привязкой. Если вы используя привязки расширений (например, ServiceBus, Timers и т. д.), убедитесь, что вы вызвали метод регистрации для расширения (ей) в своем коде запуска (например, config. "

using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;

namespace FunctionAppLatest
{
    public static class Function1
    {
        [FunctionName("Function1")]
        public static async Task<HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
        {
            log.Info("C# HTTP trigger function processed a request.");

            // parse query parameter
            string name = req.GetQueryNameValuePairs()
                .FirstOrDefault(q => string.Compare(q.Key, "name", true) == 0)
                .Value;

            if (name == null)
            {
                // Get request body
                dynamic data = await req.Content.ReadAsAsync<object>();
                name = data?.name;
            }

            return name == null
                ? req.CreateResponse(HttpStatusCode.BadRequest, "Please pass a name on the query string or in the request body")
                : req.CreateResponse(HttpStatusCode.OK, "Hello " + name);
        }
    }
}

1 Ответ

0 голосов
/ 02 января 2019

Функции 2.0 в Azure больше не используют TraceWriter.

Пожалуйста, замените его на ILogger log

Вместо log.info вам нужно будет использовать log.LogInformation("C# HTTP trigger function processed a request.");

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