Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Dmitry Sikorsky
    @DmitrySikorsky
    you can skip it
    Артём Баранов
    @artemb89
    Предлагаю в RepositoryBase реализовать методы CRUD операций, могу сегодня вечером этим заняться, если все согласны
    Пронин Андрей
    @KANekT
    там же что-то такое уже реализовывалось или это в платформусе было
    Артём Баранов
    @artemb89
    Вроде бы нет, в платформусе почти в каждом репозитории есть public Permission WithKey(int id)
    {
    return this.dbSet.FirstOrDefault(p => p.Id == id);
    }
    public IEnumerable<Permission> All()
    {
      return this.dbSet.OrderBy(p => p.Position);
    }
    и похожие куски
    Пронин Андрей
    @KANekT

    на прошлой работе было что репозитарий это только CRUD

    а все остальные запросы через services выполнялись

    Артём Баранов
    @artemb89
    Почти то же самое, в репозитории CRUD, всё остальное в Bl. Т.к. методы чтения,создания, редактирования, удаления в основном одинаковые, хотелось бы добавить виртуальные методы в RepositoryBase, чтобы исключить дублирование кода
    Пронин Андрей
    @KANekT
    да надо бы с возможностью overrride
    Dmitry Sikorsky
    @DmitrySikorsky
    я обычно слой сервисов не использую, т.к. чаще всего это просто копирование функционала из репозитория (вот тут это обсуждали в комментах, и в присланном примере как раз так и было: https://habrahabr.ru/company/microsoft/blog/279985/#comment_8820367). если необходимо выполнять какие-то сложные манипуляции (типа создания пользователя со многими задействованными таблицами и так далее), я использую некие менеджеры или хелперы. идея с CRUD вроде бы хорошая, хотя смущает, что все репозитории получат эти возможности, даже если они не нужны. также, если у сущности составной первичный ключ, то как быть? предлагаю этот момент сначала обсудить
    также там висит пул реквест, связанный с путем к каталогу с расширениями. мне кажется, надо вообще пересмотреть механизм формирования пути, т.к. для запаблишенного приложения получается вообще неправильный путь, т. к. там меняется структура проекта. наверное, нужно не от папки src путь писать, а от корня проекта. как считаете?
    Артём Баранов
    @artemb89
    По поводу пути к каталогу расширений согласен. По поводу CRUD, можно написать дополнительный класс, если функционал требуется - наследуем. По поводу составных ключей нужно подумать.
    Пронин Андрей
    @KANekT
    Microsoft.AspNet.Identity не стали использовать в проекте ?
    Dmitry Sikorsky
    @DmitrySikorsky
    SignOut смерджил
    Identity использовать не стал, мне эта штука не нравится. Там в таблице пользователей прописаны левые поля, вроде номера телефона, электронной почты и кучи прочего лишнего. + оно работает только с EF.
    тогда базовый класс для контекста необходимо было бы наследовать от их класса. короче, жестко весьма
    Пронин Андрей
    @KANekT

    KANekT/Platformus@6bdd089

    не везде поставлена альфа 7...

    Dmitry Sikorsky
    @DmitrySikorsky
    исправил
    Пронин Андрей
    @KANekT

    http://localhost:6067/wwwroot.areas.backend.css.platformus.barebone.min.css

    такие ссылки не работают :( на новом ext core

    Артём Баранов
    @artemb89

    нужно не от папки src путь писать, а от корня проекта. как считаете?
    По поводу пути к каталогу расширений согласен

    Сейчас посмотрел в код, может быть что-то я не понимаю, но там вроде бы итак applicationBasePath от которого обрезаем папку src в случае его наличия

    Dmitry Sikorsky
    @DmitrySikorsky
    Должно работать, я проверял.
    Возможно, при пересборке файла просто не было и он не попал в ресурсы
    Пронин Андрей
    @KANekT
    а когда пдатформус на nuget будет ?
    Dmitry Sikorsky
    @DmitrySikorsky
    Он там. Просто в поиске не показывается.
    Пронин Андрей
    @KANekT
    хм … надо проверить
    Dmitry Sikorsky
    @DmitrySikorsky
    Но ссылке будут зарезолвлены
    Пронин Андрей
    @KANekT

    css и js все равно не работают…

    может тогда обновить example:
    https://github.com/Platformus/Platformus-Sample

    Dmitry Sikorsky
    @DmitrySikorsky
    так, давайте разберемся. вы какую версию используете? я проверяю так: беру семпл, копирую исходники платформуса в src, прописываю в сепле альфу из исходников и запускаю. так я вношу правки в сам платформус. у меня стили работают. у вас не работают именно в такой конфигурации, или в старом примере?
    я хочу выложить новый пример когда исправлю ошибки в платформусе и выложу новую альфу. скорее всего на выходных.
    itur
    @itur
    Dmitry, собрал пример ExtCoreSample по статье https://habrahabr.ru/company/microsoft/blog/279985/ - спасибо!
    но есть пара коментариев - ExtensionB имеет template: "extension-b" - это отличие от ExtensionA. без него не работало
    Вы приводите
    public class Startup: ExtCore.WebApplication.Startup
    без
    public static void Main(string[] args) => WebApplication.Run<Startup>(args);
    и вот непонятка - я меняю IndexA.cshtml - ну там заголовок например - рестарую приложение - изменения нет. Спустя наверное пол часа - появилось.
    И то же самое с дебагом - breakpoint in ExtensionAController works always, but breakpoint in Index.cshtml is disbled very often... any suggestions?
    itur
    @itur
    Found it: EnablePreCompilation(BeforeCompileContext context) => true; once I will remove this line I can debug and see changes...
    Dmitry Sikorsky
    @DmitrySikorsky
    добрый день! насчет template: "extension-b": это ведь регистрация маршрута всего лишь. т. е. зарегистрировать любой урл по сути для своих экшнов. в extension-a стоит пустой маршрут, что означает всего лишь, что это главная страница. могу подробнее об этом рассказать, если нужно
    на счет дебага и отображения изменений. смотрите, если расширения распространяются как dll, то соответственно после их пересборки необходимо скопировать dll (можно воспользоваться для этого имеющимся заданием gulp, либо вручную сделать) в папку с расширениями. только после этого приложение после перезапуска их подтянет. если же на расширения есть прямые ссылки, то изменения будут видны сразу после пересборки и можно будет дебажить ваши расширения.
    т.е. в процессе разработки расширения удобнее иметь на него прямые ссылки, чтобы сразу видеть изменения и иметь возможность дебага. а когда расширение готово его можно распространять как dll, nuget-пакет или в виде исходников.
    Dmitry Sikorsky
    @DmitrySikorsky
    This message was deleted
    Пронин Андрей
    @KANekT

    Многих, я думаю, волнует вопрос, когда выйдет ASP NET Core 1.0 и почему так долго длится разработка? Прежде всего, затянувшиеся сроки выхода связаны с масштабом вносимых изменений, а именно переходом от dnx к cli, также изменениями в API и доработке поддержки фреймворка в Visual Studio. Ожидаемые сроки выхода ASP NET Core RC2 - примерно через 4-6 недель.

    https://new.vk.com/wall-61281696_2946
    http://www.hanselman.com/blog/AnUpdateOnASPNETCore10RC2.aspx

    Alexsandro Souza Pereira
    @alexsandro-xpt
    This is a great proposal for ASP
    I looking for this a years for asp.net, it's should be native solution for asp.net core
    Dmitry Sikorsky
    @DmitrySikorsky
    Thanks for your comment, I'm happy that this project is useful for you!
    efams
    @efams
    Hi guys, there is a function in extcore that permit to unload/reload an extension?
    Dmitry Sikorsky
    @DmitrySikorsky
    Hi! I'm planning to add this a bit later, but now it is not possible.
    Dmitry Sikorsky
    @DmitrySikorsky
    Волнительно)
    Артём Баранов
    @artemb89
    Круто) C entity framework core вроде бы то же самое произошло. https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-entity-framework-core-rc2/
    Артём Баранов
    @artemb89
    @DmitrySikorsky , Давно уже созрел вопрос по поводу
    applicationBuilder.UseSession(); в WebApplication. Если ExtCore используется для API, сессии там не нужны, несёт ли UseSession() лишнюю нагрузку?
    Dmitry Sikorsky
    @DmitrySikorsky
    @artemb89 вроде как UseSession добавляется в модуле Security, так? Можно просто не использовать тот модуль, либо сделать свой модуль и выпилить из него кусок. Я, признаться, не знаю, насколько много ресурсов потребляет UseSession.