Я получаю сообщение об ошибке. Метод расширения должен быть определен в неуниверсальном статическом классе в моем проекте функции Visual Studio Code Azure. Но я не могу изменить общедоступный класс NewFunction на общедоступный статический класс NewFunction, потому что тогда я получаю сообщение об ошибке «NewFunction.log»: невозможно объявить элементы экземпляра в статическом классе в этой строке частного журнала ILogger только для чтения;.
Как я могу решить эту проблему?
NewFunction.cs:
using System;
using System.Threading.Tasks;
using System.Text.Json;
using System.Collections.Generic;
using PlayFab;
using PlayFab.AdminModels;
using System.IO;
using System.Net;
using PlayFab.Samples;
using System.Linq;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
namespace My.Functions
{
public class Result
{
public bool FunctionSuccessful { get; set; }
public string Errorline1 { get; set; }
public string Errorline2 { get; set; }
public string Errorline3 { get; set; }
public string Errorline4 { get; set; }
public string Errorline5 { get; set; }
public string Errorline6 { get; set; }
public bool Isexpired { get; set; }
public bool Isbanned { get; set; }
}
public class NewFunction
{
private readonly ILogger log;
public NewFunction(ILogger logger)
{
log = logger;
}
[Function("ChangeDisplayname")]
public async Task ChangeDisplayname(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestData req)
{
log.LogInformation("ChangeDisplayname HTTP trigger started.");
FunctionExecutionContext context = JsonSerializer.Deserialize(await req.ReadAsStringAsync());
var args = context.FunctionArgument;
string language = args["Language"];
string desireddisplayname = args["NewDisplayname"];
log.LogInformation($"The new displayname = {desireddisplayname}");
string isdisplaynamevalid = VerifyDisplayname(desireddisplayname);
if (isdisplaynamevalid == "true")
{
}
else
{
}
var result = new Result
{
FunctionSuccessful = functionsuccessful,
Errorline1 = string.Empty,
Errorline2 = string.Empty,
Errorline3 = string.Empty,
Errorline4 = string.Empty,
Errorline5 = string.Empty,
Errorline6 = string.Empty,
Isexpired = isexpired,
Isbanned = isbanned
};
var res = req.CreateResponse(HttpStatusCode.OK);
res.Headers.Add("Content-Type", "application/json");
await res.WriteStringAsync(JsonSerializer.Serialize(result));
return res;
}
public static string VerifyDisplayname(this string text)
{
string displaynamemessage = "Error.";
...
return displaynamemessage;
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ng-to-a-st
Я получаю сообщение об ошибке в проекте функций Azure в общедоступном классе. Переход на статический класс не работает ⇐ C#
Место общения программистов C#
1766133103
Anonymous
Я получаю сообщение об ошибке. Метод расширения должен быть определен в неуниверсальном статическом классе в моем проекте функции Visual Studio Code Azure. Но я не могу изменить общедоступный класс NewFunction на общедоступный статический класс NewFunction, потому что тогда я получаю сообщение об ошибке «NewFunction.log»: невозможно объявить элементы экземпляра в статическом классе в этой строке частного журнала ILogger только для чтения;.
Как я могу решить эту проблему?
NewFunction.cs:
using System;
using System.Threading.Tasks;
using System.Text.Json;
using System.Collections.Generic;
using PlayFab;
using PlayFab.AdminModels;
using System.IO;
using System.Net;
using PlayFab.Samples;
using System.Linq;
using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Http;
using Microsoft.Extensions.Logging;
namespace My.Functions
{
public class Result
{
public bool FunctionSuccessful { get; set; }
public string Errorline1 { get; set; }
public string Errorline2 { get; set; }
public string Errorline3 { get; set; }
public string Errorline4 { get; set; }
public string Errorline5 { get; set; }
public string Errorline6 { get; set; }
public bool Isexpired { get; set; }
public bool Isbanned { get; set; }
}
public class NewFunction
{
private readonly ILogger log;
public NewFunction(ILogger logger)
{
log = logger;
}
[Function("ChangeDisplayname")]
public async Task ChangeDisplayname(
[HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequestData req)
{
log.LogInformation("ChangeDisplayname HTTP trigger started.");
FunctionExecutionContext context = JsonSerializer.Deserialize(await req.ReadAsStringAsync());
var args = context.FunctionArgument;
string language = args["Language"];
string desireddisplayname = args["NewDisplayname"];
log.LogInformation($"The new displayname = {desireddisplayname}");
string isdisplaynamevalid = VerifyDisplayname(desireddisplayname);
if (isdisplaynamevalid == "true")
{
}
else
{
}
var result = new Result
{
FunctionSuccessful = functionsuccessful,
Errorline1 = string.Empty,
Errorline2 = string.Empty,
Errorline3 = string.Empty,
Errorline4 = string.Empty,
Errorline5 = string.Empty,
Errorline6 = string.Empty,
Isexpired = isexpired,
Isbanned = isbanned
};
var res = req.CreateResponse(HttpStatusCode.OK);
res.Headers.Add("Content-Type", "application/json");
await res.WriteStringAsync(JsonSerializer.Serialize(result));
return res;
}
public static string VerifyDisplayname(this string text)
{
string displaynamemessage = "Error.";
...
return displaynamemessage;
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79850938/i-get-an-error-in-my-azure-functions-project-in-a-public-class-changing-to-a-st[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия