powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Startup всё
24 сообщений из 24, страница 1 из 1
Startup всё
    #40120140
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ASP.NET Core 6 отменили Startup, Program, и Main(). Теперь минимальное веб-приложение выглядит примерно вот так:
Код: c#
1.
2.
3.
var app = WebApplication.CreateBuilder().Build();
app.MapGet("/", () => "Hello World!");
app.Run();
...
Рейтинг: 0 / 0
Startup всё
    #40120150
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
мне нравится.
...
Рейтинг: 0 / 0
Startup всё
    #40120158
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно, а по понасуют в приложение контейнеров, медиаторов, хостедсервисов, потом концов найти не могут!
...
Рейтинг: 0 / 0
Startup всё
    #40122070
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Правильно, а по понасуют в приложение контейнеров, медиаторов, хостедсервисов, потом концов найти не могут!

Ну, я бы не сказал, что "не найти"... Ведь новый синтаксис не шибко меняет логику работы - это более похоже на синтаксический сахар. :) Конфигурирование, регистрация сервисов в DI, а так же настройка middlewares - это всё выполняется в чётко предназначенных для этого местах, так что проблемы с поиском возникать не должно (если делать всё так, как оно задумывалось проектировщиками ASP.NET 6.0). :)

Лично мне не нравится то, что по умолчанию включена опция использования подключения некоего default-набора пространств имён - я всё же предпочитаю в коде видеть явные юзинги, поэтому в настройках проекта эту опцию устанавливаю в disabled.

В целом, я бы предпочёл видеть явным образом обозначенный статический метод Main, а так же класс Startup (имя может быть любым) чем тот новый синтаксический сахар, который появился в 6.0. Потому что даже используя сахар, всё равно нужно понимать, во что он преобразуется за кулисами. Новичков это может сбивать с толку.
...
Рейтинг: 0 / 0
Startup всё
    #40122081
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum
Новичков это может сбивать с толку.
Новички все равно не олд-скул не знают, так что увидят сразу по-новому и их ничего не смутит. Вот меня это действительно сбило с толку, когда я сделал "dotnet new webapi", и не увидел там Startup.cs :)
Compositum
Лично мне не нравится то, что по умолчанию включена опция использования подключения некоего default-набора пространств имён
Это же бомба-фича :)) Я с самого начала завидовал VB.NET потому что там это было с самой первой версии. В C# понадобилось десять версий, чтобы сделать то же самое :))
...
Рейтинг: 0 / 0
Startup всё
    #40122093
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Вот меня это действительно сбило с толку, когда я сделал "dotnet new webapi", и не увидел там Startup.cs :)

Всегда можно сделать по классике :) :
dotnet new webapi -f net5.0 -o stuff
...
Рейтинг: 0 / 0
Startup всё
    #40122096
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Это же бомба-фича :)) Я с самого начала завидовал VB.NET потому что там это было с самой первой версии.

Не знаю... У меня такое наоборот - вызывает отторжение. Это придётся запоминать перечень неймспейсов, чтобы помнить, какой из них присутствует по дефаулту, а какой нет.
...
Рейтинг: 0 / 0
Startup всё
    #40122236
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum
Ну, я бы не сказал, что "не найти".
то был сарказм

Compositum
Не знаю... У меня такое наоборот - вызывает отторжение. Это придётся запоминать перечень неймспейсов, чтобы помнить, какой из них присутствует по дефаулту, а какой нет.
с автоматическим добавлением юзингов с помощью интеллисенса это практически перестало иметь значение

В razor и wpf давно используется набор дефолтных юзингов, никто не парится
...
Рейтинг: 0 / 0
Startup всё
    #40122252
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
В razor

Кстати, да. А я со своим WebAPI-бекендом про это уже даже и позабыл.
...
Рейтинг: 0 / 0
Startup всё
    #40122265
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
В razor и wpf давно используется набор дефолтных юзингов, никто не парится

Это другое (с) 🙂
В Razor мы можем управлять default-набором пространств имён, самостоятельно формируя его в файле _ViewImports.cshtml.
...
Рейтинг: 0 / 0
Startup всё
    #40122273
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum
В Razor мы можем управлять default-набором пространств имён

Код: xml
1.
2.
3.
4.
5.
<ItemGroup>
    <Using Remove="..." />
    <Using Include="..." />
    ... 
</ItemGroup>


К слову сказать, для дошестерочного фреймворка у меня уже давно были свои кастомные шаблоны для VS, которые создавали файл *.cs автоматически почти с теми юзингами, которые сейчас идут по умолчанию.
...
Рейтинг: 0 / 0
Startup всё
    #40123243
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

все эти бойлерплейты от лукавого :)
я давно забил на них, вместо этого лучше делать либы
...
Рейтинг: 0 / 0
Startup всё
    #40123249
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
fkthat,

все эти бойлерплейты от лукавого :)
я давно забил на них, вместо этого лучше делать либы


Шаблоны на самом деле зашибись штука. Не все либой можно сделать. А если и можно, то не всегда удобно. У нас когда-то в одном проекте чуваки понаворотили либ своих. В итоге там, например, даже логгирование переконфигурировать нормально было нельзя. Потому что всю конфигу Serilog захардкодили в какую-то либу. Плюс еще куча подобного геморроя. Копипаст иногда рациональней чем подобное изобретательство. Тем более когда копипаст автоматический по "dotnet new" Сегодня как раз подобновил всё своё под шестерку: https://github.com/fkthat/FkThat.Templates
...
Рейтинг: 0 / 0
Startup всё
    #40123257
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

незнай.. всё быстро меняется, либы надёжней, так как там и тесты и нормальные циклы релизов с исправлениями. ты ж не протащишь фикс на ряд проектов, которые ты сгенерил из бойлерплейта.
...
Рейтинг: 0 / 0
Startup всё
    #40123260
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
незнай.. всё быстро меняется, либы надёжней, так как там и тесты и нормальные циклы релизов с исправлениями. ты ж не протащишь фикс на ряд проектов, которые ты сгенерил из бойлерплейта.


Ну так бойлерплейты они и не для этого.
...
Рейтинг: 0 / 0
Startup всё
    #40123263
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Ну так бойлерплейты они и не для этого.


а ты пойди всем объясни. у тебя сколько человек в команде? :)
...
Рейтинг: 0 / 0
Startup всё
    #40123269
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
а ты пойди всем объясни. у тебя сколько человек в команде? :)

Да даже хоть если один Дело не в этом. Я объясню на примере. Мне надо создать проект с тестами XUnit. Тем что есть изначально в .NET SDK или VS, что мне придется:

1) Создать собственно сам проект
2) Добавить референс на Moq
3) Добавить референс на FluentAssertions
5) Добавить референс на сам проект с тестируемым кодом
4) Добавить референс на coverlet.msbuild
5) Прописать в .csproj свойства чтобы coverlet включился.

С бойлерплейтом (который, делается максимум за десяток минут) я просто набираю в шелле что-нибудь типа: "dotnet new my-xunit-project -o .\test\bla-bl-bla" и у меня все 1-5 делаются автоматически. Библиотекой это не сделать, просто потому что библиотеки они совсем для другого.

https://github.com/dotnet/templating
...
Рейтинг: 0 / 0
Startup всё
    #40123287
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ничто не мешает при Minimal APi использовать старый стиль namespace
...
Рейтинг: 0 / 0
Startup всё
    #40123313
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
а ты пойди всем объясни.

Я всегда просто пишу креативы в конфлюенс. У нас жесткий прессинг аджайла и KPI оценивают по активности в соцсетях, мессенджерах, и, в т.ч., конфлюенсе. А тут еще конец года и надо как никогда биться за грейды и бонусы.
...
Рейтинг: 0 / 0
Startup всё
    #40123317
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
ничто не мешает при Minimal APi использовать старый стиль namespace

Новые file-scoped namespace это шикардос (в жабе, по-моему, такое было еще с самого рождения). Я бы еще дальше пошел и отменил вообще обязательность декларации namespace - пускай в какой папке проекта файл лежит такой namespace у него по умолчанию и будет.
...
Рейтинг: 0 / 0
Startup всё
    #40123337
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
fkthat,
мне нравится.


ясно, все идет к этому, цикл замыкается

Код: plaintext
1.
2.
3.
4.
5.
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
...
Рейтинг: 0 / 0
Startup всё
    #40123342
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
vb_sub
ничто не мешает при Minimal APi использовать старый стиль namespace

Новые file-scoped namespace это шикардос (в жабе, по-моему, такое было еще с самого рождения). Я бы еще дальше пошел и отменил вообще обязательность декларации namespace - пускай в какой папке проекта файл лежит такой namespace у него по умолчанию и будет.

бесячая тема, но это должно быть опционально, в Решарпере вроде есть возможность такое включить.
Довольно много типов одного пространства имен находятся в разных сборках. Примерно полно.
...
Рейтинг: 0 / 0
Startup всё
    #40123345
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

fkthat
пускай в какой папке проекта файл лежит такой namespace у него по умолчанию и будет.
...
Рейтинг: 0 / 0
Startup всё
    #40123444
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
2) Добавить референс на Moq
3) Добавить референс на FluentAssertions
5) Добавить референс на сам проект с тестируемым кодом
4) Добавить референс на coverlet.msbuild


референсы через одну либу, сквозные


fkthat
5) Прописать в .csproj свойства чтобы coverlet включился.


один Directory.Build.props


это не спора ради. просто между либой и бойлерплейтом нужно выбирать либу, но и бойлерплейт тожа хорошо.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Startup всё
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (3): Анонимы (2), Yandex Bot 6 мин.
Пользователи онлайн (8): Анонимы (6), Yandex Bot 1 мин., Bing Bot 4 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]