Ответы пользователя по тегу .NET
  • Как правильно использовать async/await в "Репозиторий-Сервис-Контроллер" архитектуре?

    @dmitryKovalskiy
    программист средней руки
    Метод GetLatestAsync у вас обещает вернуть Task, а возвращает объект. объявите его асинхронным(async).
    То что вы не вызываете внутри асинхронных методом - асинхронные какие-либо другие методы конечно плохо, но не смертельно.
    Какие есть пути решения?
    1) Ваш репозиторий должен работать асинхронно(если используете EF - у него есть все необходимые методы. Если используете ADO.NET - зависит от версии .NET. Можно подключить Dapper и репозиторий тоже станет асинхронным)
    2) убрать async/await из объявления метода GetLatestAsync. Пусть просто вернет модель, а не Task<Модель>. Опять же - ваш интерфейс обещает одно, а делает другое. Если внутри реализации нет асинхронности - накой вы ее объявили? На будущее? Тогда см. п.1
    Ответ написан
    1 комментарий
  • Как автоматезировать Silverlight?

    @dmitryKovalskiy
    программист средней руки
    Ответ написан
    Комментировать
  • Как выполнить Update-Database во время выполнения приложения?

    @dmitryKovalskiy
    программист средней руки
    На мой взгляд: проводить подобные рукоблудия в рамках логики работы приложения - идея ниже среднего.
    А что делать если по каким-то причинам обновление не накатится? Повторять? откатывать на stable-версию какую-то? А если логика приложения завязана на то что база 100% обновится - вообще не знаю что делать. Если вам нужно автоматизировать процесс - я бы на вашем месте смотрел в сторону решений continuous integration. Все-таки обновление контуров это одно, а работа приложения это немножко другой процесс.
    Ответ написан
    1 комментарий
  • Что/где/о чем почитать про разработку highload в .Net C#?

    @dmitryKovalskiy
    программист средней руки
    По моему очень абстрактный вопрос и без проблематики задачи - решать ее мягко говоря не просто.

    Банально решить - использовать сервер БД или документоориентированное хранилище, без понимания вашего бизнеса нельзя.
    Ответ написан
  • Не выполняется метод статистики json?

    @dmitryKovalskiy
    программист средней руки
    var jsonData = File.ReadAllText(@"C:\Users\EvgenieL\Source\Repos\XO\XO\XO\bin\Debug\stats.json");
    -Очень плохая, идея. Просто нереально плохой хард-код.

    1)В блок catch добавить логирование(какое угодно, лучше использовать готовое решение вроде log4net или Nlog).
    2)
    var filePath = "stats.json";
    var jsonData = File.ReadAllText(filePath);

    Внимание вопрос - что и откуда вы здесь прочитаете?

    У вас очень плохой слой бизнес-логики, который будет работать в приторно белом сценарии, но в случае отклонения от этого сценария - будет ошибка, которую вы никогда не отловите.
    Прописывайте сценарий когда не получилось десериализовать,
    когда не получилось сохранить.
    Хотя бы разные исключения ловите, а не глушите сразу все, делая вид что ошибки это часть вашей бизнес-логики.
    Ответ написан
    4 комментария
  • Что изучать ADO NET или Entity Framework?

    @dmitryKovalskiy
    программист средней руки
    ADO.NET+SQL нужно обязательно. EF - только если на вашем проекте нет нагрузки
    Ответ написан
    Комментировать
  • Как извлечь данные из Excel в datagridview по двум условиям?

    @dmitryKovalskiy
    программист средней руки
    Сделайте по человечески, а не на уровне студента, изучающего платформу второй день. Пишем DAL в котором есть класс для извлечения данных из Excel файла. Пишем класс модели с необходимыми полями. На уровне DAL формируем коллекцию объектов модели. На уровне представления(ваше приложение) отображаем части данной коллекции в нужном вам DataGrid. Не надо без посредников в code-behind писать извлечение данных с мгновенной вставкой. Так никто не делает. А если покажете такое на собеседовании - его результат я вам прямо здесь скажу.
    Ответ написан
    Комментировать
  • Где искать месячную практику asp.net mvc?

    @dmitryKovalskiy
    программист средней руки
    На месяц - нигде. Вы неделю будете только настраивать рабочее место и вникать что вообще люди делают, что за проект. Еще неделя - попытаться понять как работает проект и внести косметическое изменение. Остается 2 недели на практику, в период которой вы будете заниматься перекрашиванием кнопок.
    Фактически - компания потратит денег раз в 100 больше чем заработает от вашей деятельности.

    Ищите более постоянную работу, но уточняя работодателю, что хотели бы получить бумажку о прохождении практики. Желательно в компании, которая практикует парное программирование
    Ответ написан
    2 комментария
  • Насколько хорошо надо знать С# что бы начать писать сайты на ASP.NET?

    @dmitryKovalskiy
    программист средней руки
    "изучать потоки, асинхронность , XML и прочее" это изучать не C# , а .NET. ,CLR и XML. В принципе начать делать веб можно и без упомянутых технологий.
    Ответ написан
    Комментировать
  • В чем разница между LINQ to SQL и Entity Framework и когда, что лучше использовать?

    @dmitryKovalskiy
    программист средней руки
    LINQ2SQL лучше вообще не использовать, особенно в команде на сколь нибудь крупном проекте.
    EF - Рекомендуется для повсеместного использования в качестве ORM с небольшой сноской - если в вашем проекте нет требований по производительности взаимодействия с БД и если вы хотите быстро быстро на коленке сваять уровень взаимодействия с базой.
    Для более эффективного взаимодействия с БД рекомендуются тонкие обертки над ADO.NET с вызовом хранимых процедур.
    Ответ написан
    Комментировать
  • Как убрать исключение System.IO.FileLoadException?

    @dmitryKovalskiy
    программист средней руки
    Удалите ВСЕ свои рукоблудия со сборками.
    Установите в студию nuget если его нет.
    Выполните в Package manager console 2 команды -
    Install-Package VkNet
    Install-Package HtmlAgilityPack
    Ответ написан
    5 комментариев
  • Как реализовать собственную логику аутентификации в ASP .NET MVC 5?

    @dmitryKovalskiy
    программист средней руки
    Покопайтесь здесь и здесь .
    Ответ написан
    Комментировать
  • Как сделать наследование от нескольких классов в C#?

    @dmitryKovalskiy
    программист средней руки
    В любом учебнике по C# в главе про наследование первым делом вам бы сказали что такое невозможно. Для сферической задачи в вакууме решения нету. Для более конкретных - можно найти какие-либо архитектурные решения. Если вы не хотите наследовать реализацию этих классов - делайте через интерфейсы.
    Ответ написан
    Комментировать
  • ASP.NET MVC, лучшие практики?

    @dmitryKovalskiy
    программист средней руки
    Я конечно не гуру, но попробую озвучить свое мнение.
    1)В общем и целом - да. Но что по вашему - короткий маршрут? короткие слова или малое число слешей? Тут все же качели читабельности неподалеку.
    2)Я считаю да и причина довольно банальна - я не хочу лазить по всему проекту чтобы выяснить почему данный роут свалился в данный контроллер. Но есть исключение - регионы(Areas). У них свой RouteConfig и не исключено что он будет работать отлично от дефолтного.
    3)Это вообще не проблема. Вам никто не запретит писать Javascript-логику, которая потом по ходу дела возьмет еще данных через API и сама нарисует view. Делайте как хотите, но это должно быть читабельно, поддерживаемо и хоть немного соответствовать поставленной задаче( не надо пользовать Angular только чтобы попользовать Angular)
    4) Тут вы все в одну кучу смешали. Максимально короткими? В принципе да, но я хотел бы прочитав название точно угадать что он делает, а не узреть сюрприз в последствии. В остальном тоже соглашусь.
    5) Предположим она нужна. Во первых уберите слово JQuery - сия библиотека к валидации имеет мало отношения. Во вторых на сервере как правило хватает проверок свойств ModelState.isValid и Model.isValid. Разумеется если ваша модель помечена всеми атрибутами, ограничивающими корректные значения. Тут правда есть одна заковыка - предположим у вас меняется логика валидации(поля обновились или еще какие-то телодвижения совершены). На практике вам нужно в двух местах обновлять одну и ту же логику, что не очень правильно(потенциальное дублирование кода, потенциальные ошибки забывчивости).
    6)Может да, а может и нет. Повторюсь - клиентскую сторону можно лепить разными методами. Можно и Javascript-ом. В ASP.NET это не возбраняется. Это вообще нигде не возбраняется.
    UPD:Программировать на C# внутри View не стоит. Тащить доп.данные тоже, хотя изредка такая необходимость возникает(словарь какой-нибудь подтащить). В основном код должен содержать вспомогательные функции- например сформировать какую-нибудь фразочку или проверить состояние объекта по нескольким полям вместо того чтобы писать кучу if в разметке.
    END UPD.
    7)Если честно не понял о чем вы.
    8)Это не костыль, это транспортная система для коротких сообщений и простых типов. Использовать в качестве транспорта для модели тоже можно, но не безопасно с точки зрения приведения типов.
    9) А что вы понимаете под "голый Ajax"? XmlHttpRequest? Да, на мой взгляд лучше его не использовать. Вторую часть вопроса не смогу комментировать без ответа на первую. Вьюшки бывают разные, некоторые подтягивают дополнительные данные по ходу дела. Тут нужно немного конкретики.
    10) Не согласен и уже озвучивал ранее. Razor один из доступных инструментов. Можете использовать его - он хороший, а можете не использовать.
    Ответ написан
    4 комментария
  • Windows.Form c# как воскресить форму?

    @dmitryKovalskiy
    программист средней руки
    Если какой-то чудак что-то поправил и все сломалось - вам нужно начать пользоваться системами контроля версий(любыми - git,svn,tfs,hg - совершенно пофиг).
    Если ваша программа кричит что не удается загрузить какую-либо сборку :
    1) разберитесь что за сборка
    2) разберитесь где она ее ищет
    3) разберитесь нужна ли она вообще
    4) поправьте ссылки или переустановите нужные пакеты( да, лучше пользоваться nuget чем копирнуть ссылочку и ткнуть программу в место где она лежит)
    Ответ написан
    Комментировать
  • Почему Wcf возвращает пустое тело ответа?

    @dmitryKovalskiy
    программист средней руки
    Будем честны - вы не просто добавили один параметр в адресную строку, а всю логику переписали. Вы запрашиваете Stream уже для файла с другим именем. Исходя из этого данное поведение может быть даже правильным в рамках описанной логики..
    Ответ написан
  • Почему не загружается view после POST-запроса?

    @dmitryKovalskiy
    программист средней руки
    Ткните пальцем в строчку кода, которая обрабатывает результат AJAX-запроса ? Вы ткнули контроллер - он вернул ответ. Вопрос - куда вы дели ответ?
    Ответ написан
  • .net visual basic удалить значение из массива?

    @dmitryKovalskiy
    программист средней руки
    Array.Copy(sourceArray,1,destinationArray,0,sourceArray.Length-1)

    Примерно так можно
    Ответ написан
    Комментировать
  • Как синхронизировать данные на сайте ASP.NET и в локальной базе приложения?

    @dmitryKovalskiy
    программист средней руки
    Используйте общий источник данных со сноской - сторона клиента имеет крайне ограниченные права на взаимодействие с базой. Фактически вам там нужен только select и insert в виде пары хранимых процедур. Заводите пользователя, который может только вызывать эти хранимки и все в общем секюрно и спокойно. Или у вас есть хорошие причины и ограничения не использовать подобное решение?
    Ответ написан
  • Литература по изучению С#/.NET?

    @dmitryKovalskiy
    программист средней руки
    Учитесь пользоваться поиском. Если не умеете искать в яндексе/гугле или хотя бы по данному ресурсу - ничего не выйдет хорошего.
    А по самому вопросу - в порядке возрастания сложности материала и навыков - Шилдт/Троэлсен/Рихтер
    Ответ написан
    1 комментарий