powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выбор IoC
25 сообщений из 286, страница 5 из 12
выбор IoC
    #38475414
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитал еще раз твою хрень,вернее, надпись на заборе в одной из помоек, где ты привык ошиватьсяавторВ нем описывается способ регистрации услуг и найти их.

Что это за бред? Моя твоя не понимай.

msdnDependency injection containers, often referred to as just "containers," are used to satisfy dependencies between components; satisfying these dependencies typically involves registration and resolution. The Composite Application Library provides support for the Unity Application Block (Unity) container, but it is not container-specific. Because the library accesses the container through the IServiceLocator interface, the container can be replaced. To do this, your container must implement the IServiceLocator interface. Usually, if you are replacing the container, you will also need to provide your own container-specific bootstrapper. The IServiceLocator interface is defined in the Common Service Locator Library. This is an open source effort to provide an abstraction over IoC (Inversion of Control) containers, such as dependency injection containers, and service locators. The objective of using this library is to leverage IoC and Service Location without tying to a specific implementation.
...
Рейтинг: 0 / 0
выбор IoC
    #38475415
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaМуслима, я не врач псих больницы, чтобы понимать твой бред.
Долбосева, ты постоянный пациент псих больницы, тебе не понять возможности DependencyResolver в MVC. Лучше уж генери сборки в памяти в своей палате и не отвлекай никого своей дуростью.

SeVaЧто ты этой половой хотел сказать?
Что ты бестолочь.

SeVaЯ вижу только один из возможных вариантов провайдера для локатора и очередное подтверждение тому, что ты опять обосрался и в mvc нет ни какого di контейнера.
Ты видишь лишь то, что навязывает тебе твоё больное воображение. Прими пилюлю.

SeVaЗЫЫ А то, что в mvc локатор обладает искусственным интеллектом и сам что-то может, обязательно занеси в аналы своего говносборника.
Я скоро там начну писать про твои опусы, чтобы страна знала своих героев идиотов. В MVC в коробке есть всё, что нужно для IoC, в отличие от XAML.


Чмо, а по делу что-то можешь сказать? Ты как та мартышка, когда ей наступят на хвост, начинает истошно орать и бросаться шкурками от банана в виде картинок.
На большее не способен, урод от программирования?
...
Рейтинг: 0 / 0
выбор IoC
    #38475416
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЯ плакал... Тебе был задан вопрос, а ты так подло съехал с ответа. Не стыдно ли тебе? Если еще осталась в тебе искра порядочного собеседника (не такого, как упоротый Долбосева, с дыркой в башке от снаряда), то я жду ответа.

прекращай плакать. при чем тут ваши тёрки с SeVa? на WinForms и XAML ты сам съехал. я ничего тебе про них не говорил. однако ты сам закопался... я тебе отвечу на твой вопрос, если ты сначала ответишь мне на мой (в который раз уже заданный, но старательно специально для тебя мною разжёванный):

1. реализация фильтра требует зависимость в виде компонента ISomeService, которую получает через открытое свойство.
2. реализация контроллера требует зависимость в виде компонента ISomeService, которую получает через конструктор.
3. реализация вью требует зависимость в виде компонента ISomeService, которую получает через конструктор.
4. компонент ISomeService наследует интерфейс IDisposable

вопрос. кто должен в итоге уничтожить компонент? почему?
...
Рейтинг: 0 / 0
выбор IoC
    #38475424
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГлупость несусветная. Я тебе привел элементарную задачу, где это не работает. Ты не стал её решать, а тупо съехал.

я не понимаю, зачем приводить даже элементарную задачу, но сильно выходящую за рамки темы? а задача и впрямь элементарная. ты ещё в драйвера подайся, а типо там как ты решишь эту задачу, а? аа-ааа?? а на ассемблере?? а на Brainfack-e? а в контроллере моего холодильника? что? съел? то-то же.

ты давай не отклоняйся от четко обсуждаемой темы. это еще при том, что ты палишься в случае с WinForms и XAML — типа там понятие Lifetime Scope не применимо, не? это раз. во-вторых, вместо уничтожения можно уведомить контейнер, что объект больше не нужен (про счётчики ссылок, семафоры, что-нибудь слыхал?)... неужели такие элементарные вещи надо объяснять.
...
Рейтинг: 0 / 0
выбор IoC
    #38475430
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
специально для тех, кто решил отсидеться в глухом непроглядном танке:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class FormFactory
{
    readonly ILifetimeScope scope;

    public FormFactory(ILifetimeScope scope)
    {
        this.scope = scope;
    }

    public TForm CreateForm<TForm>() where TForm : Form
    {
        var formScope = scope.BeginLifetimeScope("FormScope");
        var form = formScope.Resolve<TForm>();
        form.Closed += (s, e) => formScope.Dispose();
        return form;
    }
}



на случай тупейшей ереси типа «о боже, это в ваших asp.net-ах есть всякие HttpContext-ы, а в наших винформсах ничего такого и подавно ж нет! никто не знает какие формы когда открываются и когда закрываются, не уследишь, такой бедлам творится, я даже незнаю, даже незнаю....» (и куриные помахивания руками)...

не позорьте-съ.
...
Рейтинг: 0 / 0
выбор IoC
    #38475450
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaПеречитал еще раз твою хрень,вернее, надпись на заборе в одной из помоек, где ты привык ошиваться
Что-то часто ты стал перечитывать мои сообщения. Маразматический диссонанс?

SeVaМСУВ нем описывается способ регистрации услуг и найти их.
Что это за бред? Моя твоя не понимай.
Потому что нечем понимать, всё просто.

http://msdn.microsoft.com/en-us/library/system.web.mvc.dependencyresolver(v=vs.98).aspx Provides a registration point for dependency resolvers that implement IDependencyResolver or the Common Service Locator IServiceLocator interface.

Переводчик требуется или сам осилишь своим тупым мозгом?

SeVaЧмо, а по делу что-то можешь сказать? Ты как та мартышка, когда ей наступят на хвост, начинает истошно орать и бросаться шкурками от банана в виде картинок.
На большее не способен, урод от программирования?
Что можно сказать по делу конченой маразматичке, которая даже читать не умеет. Я уж молчу про думать. Перечитывай снова и снова, пока не прозреешь, дятел Российской Федерации.
...
Рейтинг: 0 / 0
выбор IoC
    #38475452
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttна WinForms и XAML ты сам съехал. я ничего тебе про них не говорил. однако ты сам закопался...
Я тебе привел реальный показательный, где это работает. Чтобы ты не мыслил единым шаблоном в контексте веба.

hVosttя тебе отвечу на твой вопрос, если ты сначала ответишь мне на мой (в который раз уже заданный, но старательно специально для тебя мною разжёванный)
Стоп. Покажи мне ссылку на эти несколько дублей вопросов, которые я старательно проигнорировал. Если найдешь, тогда я поиграю с тобой в еврейские игры. А пока будь добр ответить на мой вопрос.

hVostt1. реализация фильтра требует зависимость в виде компонента ISomeService, которую получает через открытое свойство.
2. реализация контроллера требует зависимость в виде компонента ISomeService, которую получает через конструктор.
3. реализация вью требует зависимость в виде компонента ISomeService, которую получает через конструктор.
4. компонент ISomeService наследует интерфейс IDisposable
вопрос. кто должен в итоге уничтожить компонент? почему?
Два пути (в зависимости от типа сервиса): либо контроллер, либо контейнер. Я уже писал про это.
...
Рейтинг: 0 / 0
выбор IoC
    #38475453
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУГлупость несусветная. Я тебе привел элементарную задачу, где это не работает. Ты не стал её решать, а тупо съехал.

я не понимаю, зачем приводить даже элементарную задачу, но сильно выходящую за рамки темы? а задача и впрямь элементарная. ты ещё в драйвера подайся, а типо там как ты решишь эту задачу, а? аа-ааа?? а на ассемблере?? а на Brainfack-e? а в контроллере моего холодильника? что? съел? то-то же.

ты давай не отклоняйся от четко обсуждаемой темы. это еще при том, что ты палишься в случае с WinForms и XAML — типа там понятие Lifetime Scope не применимо, не? это раз. во-вторых, вместо уничтожения можно уведомить контейнер, что объект больше не нужен (про счётчики ссылок, семафоры, что-нибудь слыхал?)... неужели такие элементарные вещи надо объяснять.
Где конкретный ответ на мой вопрос? Ты долго будешь позориться?
...
Рейтинг: 0 / 0
выбор IoC
    #38475454
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУГде конкретный ответ на мой вопрос? Ты долго будешь позориться?

послушай, если ты из-за весьма неумного бесполезного срача с SeVa внезапно ослеп — это исключительно твои проблемы .

осточертело трещать с оппонентом, который дурака включает. хотя вроде и не дурак... хз в общем. я на твой вопрос выше ответил. не дожидаясь твоего ответа при чём.
...
Рейтинг: 0 / 0
выбор IoC
    #38475455
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДва пути (в зависимости от типа сервиса): либо контроллер, либо контейнер. Я уже писал про это.

в какой ещё зависимости? можешь пояснить? и где ты писал про это?
...
Рейтинг: 0 / 0
выбор IoC
    #38475458
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttспециально для тех, кто решил отсидеться в глухом непроглядном танке:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class FormFactory
{
    readonly ILifetimeScope scope;

    public FormFactory(ILifetimeScope scope)
    {
        this.scope = scope;
    }

    public TForm CreateForm<TForm>() where TForm : Form
    {
        var formScope = scope.BeginLifetimeScope("FormScope");
        var form = formScope.Resolve<TForm>();
        form.Closed += (s, e) => formScope.Dispose();
        return form;
    }
}



на случай тупейшей ереси типа «о боже, это в ваших asp.net-ах есть всякие HttpContext-ы, а в наших винформсах ничего такого и подавно ж нет! никто не знает какие формы когда открываются и когда закрываются, не уследишь, такой бедлам творится, я даже незнаю, даже незнаю....» (и куриные помахивания руками)...

не позорьте-съ.

Что это за высер? Ты читал мой код? Форма при создании обращается к веб сервису и сразу после получения ответа диспоузит экземпляр сервиса. Во-вторых, где остальной код? Где вызов и инициализация твоего ILifetimeScope или что там. Приведи полный пример, как я, а не этот огрызок.
...
Рейтинг: 0 / 0
выбор IoC
    #38475459
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУГде конкретный ответ на мой вопрос? Ты долго будешь позориться?

послушай, если ты из-за весьма неумного бесполезного срача с SeVa внезапно ослеп — это исключительно твои проблемы .

осточертело трещать с оппонентом, который дурака включает. хотя вроде и не дурак... хз в общем. я на твой вопрос выше ответил. не дожидаясь твоего ответа при чём.

Я ответил выше на твой всплеск эмоций. Умей ждать ответ, а не прыгать как обезьяна вокруг да около.
...
Рейтинг: 0 / 0
выбор IoC
    #38475460
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУДва пути (в зависимости от типа сервиса): либо контроллер, либо контейнер. Я уже писал про это.

в какой ещё зависимости? можешь пояснить? и где ты писал про это?

В очередной раз убеждаюсь, что читаешь ты задним местом. Вот тут писал на твой вопрос "кто диспозит?": 15174546
...
Рейтинг: 0 / 0
выбор IoC
    #38475463
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЧто это за высер? Ты читал мой код? Форма при создании обращается к веб сервису и сразу после получения ответа диспоузит экземпляр сервиса. Во-вторых, где остальной код? Где вызов и инициализация твоего ILifetimeScope или что там. Приведи полный пример, как я, а не этот огрызок.

при чем тут остальной код? при чем тут инициализация ILifetimeScope? это к вопросу не относится. речь шла о форме, и о том, как утилизировать ресурсы полученные формой.

твой вариант: явно вызвать диспозе.

мой вариант: вызвать диспозе у ILifetimeScope при закрытии формы.

преимущества такого подхода: форме и программисту, которые создаёт форму ничего не нужно знать деталей реализации зависимостей. он просто их использует и всё. элементарно и всего лишь в одном месте можно определить когда уничтожаться зависимостям. они могут жить в рамках жизни формы, или в рамках работы приложения, или ещё в каких-то рамках.

в твоём случае, надо явно знать о том, что какие-то зависимости надо диспозить. если ты не понимаешь что это плохо, твои проблемы. не собираюсь тебя переубеждать в этом. считай что это правильно и говнокодь дальше.
...
Рейтинг: 0 / 0
выбор IoC
    #38475464
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВ MVC базовый контроллер, как вариант. Может и контроллер наследник, если потребуется какая-то нештатная ситуация.

перефразируя, твой ответ, это

ХЗ КТО!

я решил уточнить. но видимо ошибся. ты действительно без понятия...
...
Рейтинг: 0 / 0
выбор IoC
    #38475465
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttвызвать диспозе у ILifetimeScope при закрытии формы.

и не прикапывайся к этим словам. типа что это ещё за ILifetimeScope и кто его создаёт.
это решение лишь ответ на твой вопрос "как?", вариантов много. главное принцип, который я уже озвучил. не подойдёт такой ответ: ХЗ КТО В ЗАВИСИМОСТИ ОТ СИТУАЦИИ. мы же про DI говорим? или уже пошли во все тяжкие?
...
Рейтинг: 0 / 0
выбор IoC
    #38475467
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostthVosttвызвать диспозе у ILifetimeScope при закрытии формы.

и не прикапывайся к этим словам. типа что это ещё за ILifetimeScope и кто его создаёт.
это решение лишь ответ на твой вопрос "как?", вариантов много. главное принцип, который я уже озвучил. не подойдёт такой ответ: ХЗ КТО В ЗАВИСИМОСТИ ОТ СИТУАЦИИ. мы же про DI говорим? или уже пошли во все тяжкие?

Вот главный ответ. Я рад, что ты, наконец, это понял. Диспоузить можно и контейнером для классических рядовых случаев, диспоузить можно и инициатором. Не стоит жить одним шаблоном.
...
Рейтинг: 0 / 0
выбор IoC
    #38475468
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУВ MVC базовый контроллер, как вариант. Может и контроллер наследник, если потребуется какая-то нештатная ситуация.

перефразируя, твой ответ, это

ХЗ КТО!

я решил уточнить. но видимо ошибся. ты действительно без понятия...

Ты о чем?
...
Рейтинг: 0 / 0
выбор IoC
    #38475470
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУЧто это за высер? Ты читал мой код? Форма при создании обращается к веб сервису и сразу после получения ответа диспоузит экземпляр сервиса. Во-вторых, где остальной код? Где вызов и инициализация твоего ILifetimeScope или что там. Приведи полный пример, как я, а не этот огрызок.

при чем тут остальной код? при чем тут инициализация ILifetimeScope? это к вопросу не относится. речь шла о форме, и о том, как утилизировать ресурсы полученные формой.
Зачем мне утилизация по закрытию? Где инициализация веб сервиса? Что за гавнокод ты вбросил?
...
Рейтинг: 0 / 0
выбор IoC
    #38475480
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУВот главный ответ. Я рад, что ты, наконец, это понял. Диспоузить можно и контейнером для классических рядовых случаев, диспоузить можно и инициатором. Не стоит жить одним шаблоном.

полностью согласен, что не стоит жить одним шаблоном.

но! если уж применяешь шаблон (в данном случае DI), то стоит идти до конца.

вот твой пример:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public void OpenEmployeesWindow()
{
    var view = new EmployeesWindow();
    view.Owner = ActiveWindow;
    var vm = new EmployeesViewModel(App.Container); // 
    view.DataContext = vm;
    view.Show();
    view.Closed += (a, b) => { vm.Dispose(); Application.Current.MainWindow.Focus(); };
}



есть две проблемы.

намбер уан: всё-таки стоит применять фабрику, а не творить "чудеса" в методе. сопровождать такое — ад. творить такое — бэд.

намбер ту: такой подход не подключает DI, который бы разрешил зависимости формы. т.е. твой метод OpenEmployeesWindow решил выполнить работу DI. мало того, что это уже сам по себе косяк. даже не обсуждается.

намбер три: опять таки, OpenEmployeesWindow такой весь из себя грамотный и решил, что вью-модель надо уничтожить при закрытии формы. это хардкодинг в чистом виде. если такое по коду повсеместно встречается, такой код однозначно выкинуть на помойку. без рассуждений. а его автора на переучивание.

приведу ещё раз мой код.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class FormFactory
{
    readonly ILifetimeScope scope;

    public FormFactory(ILifetimeScope scope)
    {
        this.scope = scope;
    }

    public TForm CreateForm<TForm>() where TForm : Form
    {
        var formScope = scope.BeginLifetimeScope("FormScope");
        var form = formScope.Resolve<TForm>();
        form.Closed += (s, e) => formScope.Dispose();
        return form;
    }
}



и твой


Код: c#
1.
2.
3.
4.
5.
public void OpenEmployeesWindow()
{
   var factory = new FormFactory(App.Container);
   return factory.CreateForm<EmployeesWindow>();
}



всё. таким образом, все зависимости формы будут резолвены нужным образом, и каждая зависимость умрёт только тогда, когда ЕЙ будет нужно. а последнее определяется там, где эти зависимости регитсрируется. т.е. в том модуле, где находится компонент.

и это простое, элегантное решение, не заставляющее разработчика даже задумываться о том, какие зависимости надо уничтожать, а какие нет, и когда это делать, не будет ли проблем, если кто-то ещё использует зависимость и т.д. и т.п.

давайте писать хороший, сопровождаемый код?
...
Рейтинг: 0 / 0
выбор IoC
    #38475482
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЗачем мне утилизация по закрытию? Где инициализация веб сервиса? Что за гавнокод ты вбросил?

я не знаю зачем тебе утилизация по закрытию. я даже не собирался здесь ради треда писать целые проекты с грамотной интеграцией DI, думаю ты и сам можешь с этим справится. я тебе пояснил принцип минимальным кодом. не понятно? ну а я не заявлял, что я офигенный учитель. дуй в гугл, если что-то не понятно. или задавай конкретные вопросы в рамках темы. итак уже тебя шатает.
...
Рейтинг: 0 / 0
выбор IoC
    #38475484
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

и ещё. я хз как такое УГ можно тестировать:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public void OpenEmployeesWindow()
{
    var view = new EmployeesWindow();
    view.Owner = ActiveWindow;
    var vm = new EmployeesViewModel(App.Container); // 
    view.DataContext = vm;
    view.Show();
    view.Closed += (a, b) => { vm.Dispose(); Application.Current.MainWindow.Focus(); };
}



совершенно однозначно на помойку. даже если ты считаешь это неогранённым бриллиантом в программировании. /dev/nul -- такому коду самое место.
...
Рейтинг: 0 / 0
выбор IoC
    #38475505
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУSeVaПеречитал еще раз твою хрень,вернее, надпись на заборе в одной из помоек, где ты привык ошиваться
Что-то часто ты стал перечитывать мои сообщения. Маразматический диссонанс?

SeVaпропущено...

Что это за бред? Моя твоя не понимай.
Потому что нечем понимать, всё просто.

http://msdn.microsoft.com/en-us/library/system.web.mvc.dependencyresolver(v=vs.98).aspx Provides a registration point for dependency resolvers that implement IDependencyResolver or the Common Service Locator IServiceLocator interface.

Переводчик требуется или сам осилишь своим тупым мозгом?

SeVaЧмо, а по делу что-то можешь сказать? Ты как та мартышка, когда ей наступят на хвост, начинает истошно орать и бросаться шкурками от банана в виде картинок.
На большее не способен, урод от программирования?
Что можно сказать по делу конченой маразматичке, которая даже читать не умеет. Я уж молчу про думать. Перечитывай снова и снова, пока не прозреешь, дятел Российской Федерации.

Ты можешь читать только надписи на заборах и не можешь осилить код в 10 строчек.
В документации msdn в конце есть ссылка на статью, где описываются отличия, которые я тебе озвучил
For more information about IDependencyResolver, see the entry ASP.NET MVC 3 Service Location on Brad Wilson's blog.Differences between IDependencyResolver and Common Service Locator
The primary difference between IDependencyResolver and Common Service Locator centers around exceptions. Where Common Service Locator expects you to throw exceptions on single-service lookup failure, IDependencyResolver's GetService() method expects you to return null on single-service lookup failure.

Both interfaces expect you to return an empty collection (not null) for multi-service lookup when there are no registered services.

Те отличия чисто номинальные, а суть одна.
Ты порол лажу, в mvc никогда не было и не будет своего di контейнера. В mvc 3 был чистый локатор, а в 4 его разновидность.
Заруби это на своем тупом лбу и не пачкай здесь мозги другим.
...
Рейтинг: 0 / 0
выбор IoC
    #38475507
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

и ещё. я хз как такое УГ можно тестировать:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
public void OpenEmployeesWindow()
{
    var view = new EmployeesWindow();
    view.Owner = ActiveWindow;
    var vm = new EmployeesViewModel(App.Container); // 
    view.DataContext = vm;
    view.Show();
    view.Closed += (a, b) => { vm.Dispose(); Application.Current.MainWindow.Focus(); };
}




совершенно однозначно на помойку. даже если ты считаешь это неогранённым бриллиантом в программировании. /dev/nul -- такому коду самое место.

чмо смогло применить di контейнер как тупой локатор и не более, тем самым убивая саму идею первых на корню.
...
Рейтинг: 0 / 0
выбор IoC
    #38475517
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНе стоит жить одним шаблоном
до пациента не дойдёт
...
Рейтинг: 0 / 0
25 сообщений из 286, страница 5 из 12
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выбор IoC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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