Ответы пользователя по тегу ASP.NET
  • Есть ли в РФ недорогой хостинг для asp.net core в 2023 net 6.0?

    Jeer
    @Jeer
    уверенный пользователь
    Только ли в РФ? Мякотка .net core в том, что он работает на линуксе. Поэтому уже несколько лет почти все переписывают под линукс, как бы переплачивать смысла нет и админам удобнее работать. Плюс докер стал фактически стандартом. То есть да, зачем пользоваться каким-то преднастроенным дорогим решением, если можно запускать, условно, на голой виртуалке
    Ответ написан
    Комментировать
  • Как начать изучать ASP.NET Core?

    Jeer
    @Jeer
    уверенный пользователь
    Так просто нужно написать своё приложение ) если нет своих идей, можно скопировать что-то в лайт варианте, например, написать для себя таск-трекер (жира на минималках) или приложение по учету своих вещей (склад на минималках). А что непонятно как делать - подглядывать на метаните или других сайтах.
    Добавить логи/метрики/тесты/ci-cd, выложить на хостинг, посчитать, что винда дорого, добавить докер и развернуть в линуксе, переписать фронт на реакт... )
    Ответ написан
  • В чем может быть причина, что не работает аутентификация через Cookies в asp.net?

    Jeer
    @Jeer
    уверенный пользователь
    Привет,
    На вид подключено правильно.
    Оставьте app.UseAuthorization(); и добавьте обычный метод рядом с фильтром [Authorization]
    Если он работает, то это дает гарантии, что подключено правильно )
    Попробуйте переставить блоки UseAuthentication и UseAuthorization поставить до или после UseStaticFiles, порядок может играть роль
    Ответ написан
    1 комментарий
  • Что учить для полного понимания ASP.NET CORE?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, напиши почту, скину level assesment, там видно, что и как нужно знать и сможешь вести свой прогресс
    Ответ написан
    6 комментариев
  • Где создавать новых пользователей при использовании IdentityServer4?

    Jeer
    @Jeer
    уверенный пользователь
    Привет,
    Авторизация на основе ролей позволяет вам разграничивать функционал. То есть, вы можете сделать один сайт, у кого будут роли на управление пользователей, будут видеть пункт в меню и саму страницу.
    Проще для разработки и развития системы разделять клиентскую часть и админку, если они не пересекаются - две веб морды.
    Так же, если апишками будут пользоваться третьи лица, посмотрите другие способы аутентификации, например, почитайте про JWT токены
    Ответ написан
    Комментировать
  • Как справиться с данной проблемой?

    Jeer
    @Jeer
    уверенный пользователь
    Привет,
    Говорю на шару, так как не вижу проекта и данных не хватает
    Скорее всего нужно в нугет пакетах добавить Microsoft.EntityFrameworkCore.SqlServer помимо уже подключённого Microsoft.EntityFrameworkCore.
    В startup.cs так же должен быть UseSqlServer, если вы работаете с базой MS SQL
    Ответ написан
    Комментировать
  • Как правильно преобразовать Text to HTML в Aps.Net?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, можно подробнее, для каких задач такое используется? Пример какой-то.
    Текст пишется в каком-то редакторе? Зачем тогда какие-то странные кастомные подстановки? Есть wysiwyg или какой-нибудь tinymce редакторы, которые сразу выдают html на выходе.
    То есть тут передаётся текст и отдельными параметрами, что необходимо этот текст обернуть в или тип того?
    Ответ написан
  • Есть ли какие-нибудь тестовые задания на многопоточность и асинхронность, C#/ASP.NET?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, ничего себе тут советы, Рихтера читать )
    По асинхронности я удивлён, что появились сложности. Сейчас весь с#, все его туториалы переходят на асинхронность в принципе. async/await можно использовать, даже не понимая, как это работает. А чтобы разобраться, достаточно прочитать пару статей.
    Я рекомендую маленькую карманную книжку, она читается буквально за несколько часов и прям абсолютно всё становится ясно по асинхронности,
    Приведу ссылку на озон, но можно найти и бесплатные варианты Асинхронное программирование в C# 5.0
    По многопоточности сложнее, в том плане, что она крайне редко используется в обычном REST api. Мне даже интересно, какие вопросы задают про многопоточность и что будет, если в ответ спросить "а у вас на проекте это используется или вы просто теорией интересуетесь?"
    Ответ написан
  • Использовать ли Microsoft Identity для авторизации web api?

    Jeer
    @Jeer
    уверенный пользователь
    Добрый день всем любителям всем любителям дот нета )
    Я использовал стандартную реализацию Identity во многих версиях .net, для маленьких проектов (в том числе коммерческих, но так же, не особо сложных). Всё работает, условно, из коробки. Но из-за того, что это очень гибкий инструмент, в нём очень много различных настроек, в которых довольно легко запутаться.
    Именно из-за этого, при использовании стандартного Identity меня всегда не покидало ощущение перегруженности и не полного контроля кода в этом аспекте. Да и, собственно, когда хочется разобраться как всё работает, особенно в учебных целях, желательно своими руками выполнить соответствующие куски кода.
    Желания прям выпилить стандартную реализацию и заменить всё своим кастомным решением у меня не было, так как архитектура (что будет использоваться) обычно планируется заранее и если стандартный Identity подходит, чего ж его выпиливать. Но в последнем проекте, например, я делал самостоятельно логику авторизации, хотя, при этом, оставив стандартные схемы аутентификации.
    Если есть время/желание, могу показать, например, в дискорде.
    p.s. я не работал с монгой, но это, вроде как, не принципиально в подходе code first при работе с базой
    Ответ написан
    2 комментария
  • Как сделать синхронизацию?

    Jeer
    @Jeer
    уверенный пользователь
    Не знаю, существует ли какая-то серебряная пуля в синхронизации данных, думаю, что всё довольно индивидуально в зависимости от проекта.
    Ваша идея вполне жизнеспособна, реализовывайте.
    От себя могу добавить, что не нужно первоначальные данные грузить через SignalR, его можно использовать лишь для обновления данных.
    Например, действительно ли приложению нужно сразу знать весь список пользователей? Да и нужен ли вообще целый список? В любом случае, когда уже пользователи есть, при добавлении/обновлении какого-то из пользователей можно через SignalR отправлять на все клиенты не только уведомление, но и все данные по пользователю сразу. Конечно, если нет массового обновления всех пользователей, тогда этот вариант не прокатит.
    В общем, всё сугубо индивидуально
    Ответ написан
  • ASP.NET как узнать какой JS-скрипт исполняется сейчас?

    Jeer
    @Jeer
    уверенный пользователь
    можете написать слово debugger в js в том месте, где хотите точку останова. Тогда при включенных тулзах (f12 в хроме) выполнение будет автоматически остановлено на этой строчке. Ничего искать не надо.
    Вообще, ваш вопрос не относится к asp.net, только к студии.
    Есть еще разные штуки, например, можно нажать на функцию правой кнопкой и "найти все ссылки", но в студии это работает только для js файлов, не ищет, если вызов из html.
    В целом, попробуйте перейти на ангуляр/реакт. Как поймёте структуру, все ваши функции будут находиться в одном месте, не надо будет ничего искать.
    Работа с js/html лучше реализована в PHPStorm, чем в вижуал студии, сейчас я пишу бекенд на .net в VS, а фронтовую часть в шторме (ангуляровский проект)
    Ответ написан
    Комментировать
  • Как решить проблему отображения информации об API с помощью swagger?

    Jeer
    @Jeer
    уверенный пользователь
    У меня работает с [FromBody].
    Тут хз даже, чем помочь. Выкладывайте код, как подключали, тип/версия проекта, версия сваггера, какие ошибки выдаёт? Действительно ли дело в этом атрибуте, быть может что-то другое?
    Ответ написан
  • У меня не работает SqlDependency в asp.net?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, а в самой базе выполняли?

    ALTER DATABASE [DB Name] SET ENABLE_BROKER
    Ответ написан
    Комментировать
  • Как автоматически сгенерировать View?

    Jeer
    @Jeer
    уверенный пользователь
    Генерировать View не нужно.
    Вам приходит запрос от пользователя с какими-то параметрами. Например, с какой-то строкой.
    Далее, в контроллере вы получаете некую модель.
    Затем, вы эту модель можете передать в шаблонизатор (в вашем случае Razor).
    Он занимается тем, что на основе каких-то динамических данных (из модели) генерирует html вёрстку, которая отправляется обратно клиенту.
    Можно вызывать разные шаблоны (по имени), но они должны быть созданы заранее.
    Опишите задачу подробнее, так абстрактно тяжело рассказывать.
    Ответ написан
    Комментировать
  • Почему не работает AddTransient() в ASP.NET CORE 2.0?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, разобрались? На взгляд всё должно работать, где была ошибка?
    Ответ написан
  • Как добавить Partial View к основной странице?

    Jeer
    @Jeer
    уверенный пользователь
    Еще раз вопрос, у вас есть PartialView, и вы хотите на страницу *.cshtml добавить что-то вроде:
    @Html.Partial("Partial", new string[] { "Russia", "USA", "Canada", "France" })

    Верно?
    Но если этот партиал добавляется на несколько страниц, то вам лень каждый раз набирать руками, вы хотите "одной кнопкой"?
    Если ctrl+c, ctrl+v вам не подходит, можете посмотреть в сторону решарпера. У него есть настраиваемые хоткеи на кастомные куски кода (можно преднастроить свичи или что-то типо того)
    Ответ написан
    Комментировать
  • Как правильно перейти с AngularJS + .NET на Angular6 + .NET?

    Jeer
    @Jeer
    уверенный пользователь
    AngularJS и Angular концептуально разные фреймворки. Только если создать проект с нуля и в него выдирать куски логики. Но, бОльшую часть проекта придётся переписать заново
    Ответ написан
    Комментировать
  • Есть ли механизм bundle-нга содержимого тегов script/style для asp.net mvc?

    Jeer
    @Jeer
    уверенный пользователь
    Привет, что-то совсем никто ничего не пишет (
    Смысл бандлов в чем - существующие скрипты объеденить в один и этот один файл разместить на сервере, поправьте, если я не прав. То есть, в режиме дебага у вас отдаются имеющиеся файлы, а в режиме релиза, эти файлы вначале склеиваются на сервере. А потом отдаются уже готовые файлы. Я сталкивался с бандлами давным-давно, когда только учился, а потом благополучно их выпилил и не возвращался больше. Так что прошу прощения, если чего-то напутал, но должно быть именно так и это принципиальный момент.
    Если у вас динамически создающиеся скрипты (когда вы средствами разора формируете вёрстку с вкраплениями js), то, получается, что под каждый запрос каждого пользователя у вас появляются свои, разные файлы. Динамически созданные страницы отдаются пользователю, но на сервере ничего не остается. Если под каждый запрос будет вначале проходить процесс связывания и минификации, то это будет нереально долго. Вот один раз такое проделать и потом отдавать всем один закешированный файл - это быстро. А под каждый запрос такое делать, это будет нереал.
    В общем, ответ на ваш вопрос - этот механизм не позволяет добавлять динамически сформированные скрипты в бандлы.
    На самом деле, если у вас невозможно выделить js код в отдельные файлы, значит, что-то не так со структурой проекта и js кода в нём.
    Попробуйте (в целях саморазвития) посмотреть как решаются ваши проблемы в других проектах. К примеру, в студии есть шаблон .net core + angular, в нём уже настроен webpack, который выполняет примерно такую же функцию, как и бандлы (но он тоже не справится с вашей проблемой).
    Смысл в том, что вы вначале из c# создаете скрипт, который сразу заполнен инициализированными значениями, но при обновлении (думаю, что вы через ajax обновляетесь?) у вас есть методы, которые принимают данные через api и обновляют те самые значения на странице, по сути кода становится если не в два раза, так в полтора больше. В spa решениях оставляют только работу через api, то есть не будет динамических скриптов, поэтому весь такой js код остается статичным, его можно связывать и минифицировать.
    Ответ написан
  • Как стать .net middle, с уклоном в веб?

    Jeer
    @Jeer
    уверенный пользователь
    Рост в проф. плане очень зависит от окружения. Банальная смена работы даст вам новых задач, с которыми вы ранее не сталкивались. При устройстве на работу обращайте внимание (задавайте вопросы на собеседовании) в первую очередь какой размер команды и внедрена ли практика код ревью. Внедрен ли code style. Возможность смотреть за работой более опытных разработчиков и возможность им указывать вам на ваши ошибки даёт просто гипер прирост профессионального опыта.
    Ответ написан
    Комментировать
  • Как отправлять email-сообщенияc html шаблоном из asp.net core?

    Jeer
    @Jeer
    уверенный пользователь
    Если asp.net core, то вы можете хранить шаблоны в cshtml с передачей типизированных моделей для писем и всем сопутствующим.
    Если дёргать прям вручную, то нужно что-то типа:
    var path = "...";
    var text = File.ReadAllText(path);
    var param = new Dictionary<string, string>
    {
     param1 = "koko"
    };
    
    var templateService = new TemplateService();//RazorEngine.Templating
    var emailHtmlBody = templateService.Parse(templateText, param, null, null);


    Хотя говорят, что TemplateService устарел, нужно юзать что-то от RazorEngineService
    Ответ написан
    Комментировать