Ответы пользователя по тегу ASP.NET
  • Как правильно подключить БД в ASP.NET MVC 4?

    Вот, почитайте про инициализаторы www.codeguru.com/csharp/article.php/c19999/Underst...
    Ответ написан
    Комментировать
  • Как правильнос построить N-Tier/N-Layer архитектуру для ASP.NET проекта?

    Тема достаточно глубокая, лично я сейчас сам её изучаю. Пока что просто подкину вам нужную ссылку:
    blog.byndyu.ru/2014/05/blog-post.html
    Почитайте, у Александра там ещё много чего интересного написано по этой теме.
    Если говорить конкретно по вашему сообщению, то в целом вы всё описываете правильно. Т.е. у вас может быть слой DAL для доступа к базе данных и получения объектов. При этом DAL не содержит бизнес-логики, он только возвращает объекты. Причём списки объектов желательно возвращать как IEnumerable, а не IQueryable.
    Далее, как вы правильно сказали, есть слой бизнес-логики. Опять же, как правильно было замечено, слой бизнес-логики хранит ссылку на интерфейс DAL и обращается к нему для получения объектов. Конкретный DAL задаётся через DI.
    Насчёт обращения к DAL из контроллера - я бы рекоммендовал всё-таки обратиться через сервис. Вообще я задавал Александру почти точно такой же вопрос - что если мне требуется просто получить список объектов из DAL. Он дал мне ссылку на эту статью blog.byndyu.ru/2011/08/repository.html Почитайте, там как раз об этом.
    По-поводу того, в каких сборках правильнее хранить интерфейсы - я, к сожалению, сам пока точно не знаю, так как не прочитал ещё достаточно литературы.
    И в финале скажу, что сам Александр рекоммендует по-возможности использовать не сервисные слои, а CQRS. О том что это - поищите в поисковике. Надеюсь ответ был полезен.
    Ответ написан
    1 комментарий
  • EF CodeFirst: из-за чего ошибка при создании БД (не хочет создавать)?

    Эм... вообще не уверен, что строку подключения вот так вот напишите:

    add name="MyDatabase" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MyDb;Integrated Security=True" providerName="System.Data.SqlClient" />


    MyDatabase - имя класса контекста
    InitalCatalog=MyDb - имя базы данных.

    И как правильно написали выше, для создания базы нужно выполнить с ней какое-нибудь действие.
    Ответ написан
    Комментировать
  • Как сохранить информации в Лист на ASP.NET MVC 4.0?

    Я не понял, а модель-то кто будет передавать во View, дядя Вася что ли?
    Вы вызываете свой индекс без модели. Это первое.
    Второе, как уже сказали: при каждом новом запросе к серверу создаётся новый экземпляр контроллера. Т.е. при создании пользователя создаётся первый контроллер и пользователь добавляется в его лист.
    При вызове Index создаётся другой контроллер, список которого пуст. Поэтому реализуйте хранилище для тестирования, например статичный класс MemoryUserRepository и засуньте свой лист туда.
    Ответ написан
    Комментировать
  • Что лучше использовать для авторизации в asp.net mvc, сессию или cookie?

    Конечно есть :D ASP.NET Identity - самая современная.
    www.asp.net/identity

    Также есть SimpleMembership. По нему вообще полно уроков. В 12-ой студии при создании проекта MVC4 в базовом шаблоне эта система устанавливается по-умолчанию. Т.е. создаются модели, контроллеры, настраивается EF, насколько я помню.
    habrahabr.ru/post/192238
    blog.osbornm.com/2010/07/21/using-simplemembership...

    p.s. поэтому лучше не писать велосипеды, а воспользоваться готовым решением. Но если вас интересует ответ, то на мой взгляд - Cookie конечно, если вы, конечно, не хотите заставить пользователя логиниться каждые N минут, а также после перезапуска браузера.

    Ну и самая древняя и тяжёлая - ASP.NET MembershipProvider или как его там, но его нормальные люди сейчас не используют.
    Ответ написан
    6 комментариев
  • Как опубликовать asp.net mvc приложение на сервере ?

    На эту тему есть миллион туториалов, например
    www.asp.net/mvc/tutorials/deployment
    Я только не понял, вы что ли на собственном сервере сайт разворачиваете?

    А в чём проблема с со строкой подключения? Может быть вы неправильно указываете адрес сервера? Если база расположена на хостинге в интернете, то вы прямо на этом хостинге смотрите её адрес.
    Если на локальном компьютере, то имя сервера для SqlServer будет .\SQLEXPRESS
    Например:
    < add name="MyDatabase" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=MyDatabase;Integrated Security=SSPI" providerName="System.Data.SqlClient" / >

    Для SqlServer CE providerName = "System.Data.SqlServerCe.4.0"
    Ответ написан
  • Как вы реализовываете авторизацию в ASP.net MVC?

    Я использую SimpleMembership потому что для меня он прост, я его более или менее знаю, плюсом к тому он достаточно лёгок и гибок. Но с выходом MVC5 рекоммендуют использовать, как посоветовал комментатор выше, ASP.NET Identity. С ним я не работал.
    Старый Asp.Net Membership использовать однозначно не рекоммендую, потому что в своём объёме и оптимизации он просто монструозный.

    p.s. Вот вам очень полезная ссылка на тему авторизации. Мне в своё время очень помогла да и сейчас помогае

    kevin-junghans.blogspot.ru
    Ответ написан
    Комментировать