Я пытаюсь создать свое первое приложение Blazor для личных целей и пытаюсь получить сообщение «Произошла необработанная ошибка» внизу страницы.
Я использую VS 2022 и шаблон автономного приложения Blazor WebAssembly.
Вот что вызывает появление этой ошибки, но я не знаю почему.
В Program.cs я хочу создать объект, который я добавлю как синглтон чтобы позже внедрить его на страницы, которым необходим доступ к этому объекту.
Приведенный ниже код работает хорошо:
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add("#app");
builder.RootComponents.Add("head::after");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
List
Portfel = [];
builder.Services.AddSingleton(Portfel);
await builder.Build().RunAsync();
}
В моем классе Portfolio есть конструктор, который вызывает некоторые методы для получения данных во время построения. Этот класс работает, когда я тестирую консольное приложение или использую его как фрагмент кода в компоненте Razor. Но чтобы это работало в Program.cs, мне нужно закомментировать некоторые элементы конструктора, как вы можете видеть ниже:
public class Portfolio
{
public string ID { get; private set; }
public string Name { get; private set; }
public decimal Value { get; private set; }
public decimal ValueBankDeposits { get; private set; }
public decimal ValueStocks { get; private set; }
public decimal ValueETFs { get; private set; }
public decimal ValueFunds { get; private set; }
public decimal ValueBondsCorp { get; private set; }
public decimal ValueBondsTreasury { get; private set; }
public List BankDeposits { get; private set; }
public List Stocks { get; private set; }
public List ETFs { get; private set; }
public List Funds { get; private set; }
public List BondsCorp { get; private set; }
public List BondsTreasury { get; private set; }
public Portfolio(string iD, string name)
{
Name = name;
ID = iD;
//BankDeposits = DB.GetPortfolioBankDepositData(ID);
//Stocks = DB.GetPortfolioEquityData(ID);
//ETFs = DB.GetPortfolioETFData(ID);
//Funds = DB.GetPortfolioFundData(ID);
//BondsCorp=DB.GetPortfolioCorpBondData(ID);
//BondsTreasury=DB.GetPortfolioTreasuryBondData(ID);
}
}
Поэтому всякий раз, когда я пытаюсь создать этот класс с данными, а весь код в конструкторе раскомментирован, я получаю упомянутое сообщение об ошибке и не могу понять, почему. Как я уже говорил ранее, код работает как консольное приложение и как фрагмент кода в компоненте Razor, но не в Program.cs
List Portfel = [];
Portfolio a = new("01", "Test");
Подробнее здесь: https://stackoverflow.com/questions/798 ... or-occured
Blazor — метод запуска в program.cs выдает сообщение «Произошла необработанная ошибка» ⇐ C#
Место общения программистов C#
1765707777
Anonymous
Я пытаюсь создать свое первое приложение Blazor для личных целей и пытаюсь получить сообщение «Произошла необработанная ошибка» внизу страницы.
Я использую VS 2022 и шаблон автономного приложения Blazor WebAssembly.
Вот что вызывает появление этой ошибки, но я не знаю почему.
В Program.cs я хочу создать объект, который я добавлю как синглтон чтобы позже внедрить его на страницы, которым необходим доступ к этому объекту.
Приведенный ниже код работает хорошо:
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add("#app");
builder.RootComponents.Add("head::after");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
List
Portfel = [];
builder.Services.AddSingleton(Portfel);
await builder.Build().RunAsync();
}
В моем классе Portfolio есть конструктор, который вызывает некоторые методы для получения данных во время построения. Этот класс работает, когда я тестирую консольное приложение или использую его как фрагмент кода в компоненте Razor. Но чтобы это работало в Program.cs, мне нужно закомментировать некоторые элементы конструктора, как вы можете видеть ниже:
public class Portfolio
{
public string ID { get; private set; }
public string Name { get; private set; }
public decimal Value { get; private set; }
public decimal ValueBankDeposits { get; private set; }
public decimal ValueStocks { get; private set; }
public decimal ValueETFs { get; private set; }
public decimal ValueFunds { get; private set; }
public decimal ValueBondsCorp { get; private set; }
public decimal ValueBondsTreasury { get; private set; }
public List BankDeposits { get; private set; }
public List Stocks { get; private set; }
public List ETFs { get; private set; }
public List Funds { get; private set; }
public List BondsCorp { get; private set; }
public List BondsTreasury { get; private set; }
public Portfolio(string iD, string name)
{
Name = name;
ID = iD;
//BankDeposits = DB.GetPortfolioBankDepositData(ID);
//Stocks = DB.GetPortfolioEquityData(ID);
//ETFs = DB.GetPortfolioETFData(ID);
//Funds = DB.GetPortfolioFundData(ID);
//BondsCorp=DB.GetPortfolioCorpBondData(ID);
//BondsTreasury=DB.GetPortfolioTreasuryBondData(ID);
}
}
Поэтому всякий раз, когда я пытаюсь создать этот класс с данными, а весь код в конструкторе раскомментирован, я получаю упомянутое сообщение об ошибке и не могу понять, почему. Как я уже говорил ранее, код работает как консольное приложение и как фрагмент кода в компоненте Razor, но не в Program.cs
List Portfel = [];
Portfolio a = new("01", "Test");
Подробнее здесь: [url]https://stackoverflow.com/questions/79846965/blazor-running-method-in-program-cs-gives-an-unhadled-error-occured[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия