powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Аутентификация шаг за шагом
25 сообщений из 52, страница 2 из 3
Аутентификация шаг за шагом
    #38708428
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не задавать глупых вопросов, отвлекся на пару недель на погружение в вопрос внедрения зависимостей (заодно решились и некоторые другие вопросы, для которых я уж было попытался сделать велосипед). Изучал по Марку Симану "Внедрение зависимостей в .NET", как я понимаю, это одна из наиболее серьезных работ на эту тему.

Итого для Autofac:
1) установить в проект autofac и autofac.integration.mvc
2) настроить следующим образом (при запуске проекта):
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    public static void Configure()
    {
      // создается билдер, через который идет настройка
      var builder = new ContainerBuilder();
      // регистрируется набор классов HttpContextBase, HttpRequestBase, HttpResponseBase (и другие Http*Base),
      // которые можно будет потом использовать, как зависимости в своих классах
      builder.RegisterModule(new AutofacWebTypesModule());

      // далее регистрируем все классы, реализующие IController в сборке (то есть не обязательно наследники Controller)
      // можно, конечно, вместо этого зарегистрировать только нужные контроллеры через RegisterType или другими способами
      builder.RegisterControllers(Assembly.GetExecutingAssembly()).InstancePerRequest();
      // регистрируем вышепредложенный юзерсервис
      builder.RegisterType<UserService>().As<IUserService>().InstancePerRequest();

      // создаем предварительно настроенный контейнер
      var container = builder.Build();
      // и регистрируем autofac в качестве стандартного резолвера для разрешения зависимостей MVC
      // это избавляет от необходимости создавать свою фабрику контроллеров для DI
      DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
    }
 

все. дальше можно создавать контроллерам собственные конструкторы с внешними зависимостями

hVosttНа сайте Autofac примеров достаточно.абсолютный вакуум в нужном разделе
http://autofac.readthedocs.org/en/latest/integration/mvc.html
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708435
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри тут: http://habrahabr.ru/post/136895/
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708440
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708451
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneпосмотри тут: http://habrahabr.ru/post/136895/ ну на него я и ориентировался, не, я-то разобрался пока, это просто к слову про документацию ))
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708456
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну тяжело присать документацию, это всегда так =)
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708457
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
писать
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708773
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proабсолютный вакуум в нужном разделе
http://autofac.readthedocs.org/en/latest/integration/mvc.html

это какой-то левый сайт.

вот же она, родная: https://github.com/autofac/Autofac/wiki/Mvc-Integration
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708783
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttэто какой-то левый сайт.какой же левый
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708786
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708887
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

плиз, помоги добить тему , не стал спамить в этой ветке, поскольку вопросы достаточно общие.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708909
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVostt,

плиз, помоги добить тему , не стал спамить в этой ветке, поскольку вопросы достаточно общие.

ответил.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38708913
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proкакой же левый

ну там нет нифига

http://autofac.org

раздел „Get Help“
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38709097
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нить знает как масштабирование в IE отрубить через html/css? Обновил какашку до 11-ой версии, она теперь автоматом все страницы масштабировать начала.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38709148
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_stКто-нить знает как масштабирование в IE отрубить через html/css? Обновил какашку до 11-ой версии, она теперь автоматом все страницы масштабировать начала.

Погуглил и в итоге бида/пичаль, этот баг так просто не лечится. Вроде реестр можно пропатчить или в файле monitor.inf чё-то поменять, короче уныло. Баг почти год уже висит .
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38709202
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_stПогуглил и в итоге бида/пичаль, этот баг так просто не лечится. Вроде реестр можно пропатчить или в файле monitor.inf чё-то поменять, короче уныло. Баг почти год уже висит .

Quick and Easy Workaround: CTRL+Mouse Scrolling Button. This doesn't reset the default to 100% but it's quick.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38709204
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
and...

Use an alternative browser such as Google Chrome or Mozilla Firefox.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38709238
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестить всё равно в эксплорере надо, поэтому я по первому варианту пока - CTRL+Mouse Scrolling Button. Нет чтоб фичи новые внедрять, сидят баги лепят, у них там специальный отдел наверное - по созданию багов в эксплорере, работает с конца 90-ых
Надоели условные комментарии, хочу эту штуку .
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38709269
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
st_st,

да пора уже заменить CSS на LESS и дело с концом
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38719855
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Код: c#
1.
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));


все. дальше можно создавать контроллерам собственные конструкторы с внешними зависимостями
Вообще, что получается. Я ведь могу в конце-концов получить зарегистрированную зависимость в любом месте ASP.NET-приложения через
Код: c#
1.
DependencyResolver.Current.GetService<IAnyService>

не заботясь о передаче зависимостей через конструкторы и последующее их локальное сохранение. Или тут есть подводные камни?
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38719873
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProИли тут есть подводные камни?

Зависимость от DependencyResolver. Не то, чтобы это было сильно критично в процессе разработки, и на вид удобно. Но это мелкая паскудная грабля, на которую я один раз имел волшебное, не передаваемое словами удовольствие наступить. DependencyResolver может быть полезен для использования в разработке инфрастуктурного кода (в который сложно или невозможно впихнуть инъекцию), отделённого от логики (допустим, модули там, обработчики), и ещё полезен для прототипирования (временно, значит).

В общем, DependencyResolver это Service Locator, антипаттерн тобишь. И не зря.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38719875
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ясно.

Собственно, появилась необходимость получить зависимость в базовом (абстрактном) классе контроллера - то есть я не могу внедрить ее через конструктор. То есть получается либо внедрить через свойство, либо получить из DependencyResolver-а
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38720417
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

через свойство конечно. в фильтры также внедряется.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38720419
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

вот, например, где без DependencyResolver не обойтись, это в обработчиках событий HttpApplication, там нет инъекции и приходится дёргать DR. правда это возможно только в тех событиях, где доступен HttpContext.Current, иначе будет падать.
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38727155
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немножко возвращаясь к аутентификации. Если пользователь не выбирает режим "запомнить меня", Indentity позволяет в следующей сессии достать логин, который был в предыдущей сессии? Или самому возиться с куками?
...
Рейтинг: 0 / 0
Аутентификация шаг за шагом
    #38727220
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНемножко возвращаясь к аутентификации. Если пользователь не выбирает режим "запомнить меня", Indentity позволяет в следующей сессии достать логин, который был в предыдущей сессии? Или самому возиться с куками?

как можно достать из сессии логин, если кука сессионная? сессионная кука удаляется если закрыть браузер/вкладку. неоткуда доставать логин.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 2 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Аутентификация шаг за шагом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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