powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Службы в ASP в обычный код, как сделать?
22 сообщений из 22, страница 1 из 1
Службы в ASP в обычный код, как сделать?
    #40092913
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
опять же сабж, но хотелось DI, как у в взрослых сделать, возможно?
заранее благодарю ВС
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40092914
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только не нужно меня ругать, что читай документацию, гугл - не по шарам, пытался)
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40092916
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Желательно вопрос сформулировать по-русски.

Если нужен DI в ASP.NET - можно воткнуть Autofac
У него есть дополнительное расширение для интеграции в ASP.NET
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40092935
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Если нужен DI в ASP.NET - можно воткнуть Autofac

Чем встроенный не угодил?

Shocker.Pro
Желательно вопрос сформулировать по-русски.

Можно даже по-английски. Тут наверняка почти все им достаточно владеют.
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40092951
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka
Чем встроенный не угодил?
как я понял, у ТС не Core

Хотя мы Автофак даже и в Core встраиваем, там плюшки всякие типа именованных инстансов, декораторы, модули, в общем, помощнее будет, чем штатный
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40092955
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
Хотя мы Автофак даже и в Core встраиваем

Мы тоже так поначалу делали. Но, поскольку
Shocker.Pro
плюшки всякие типа именованных инстансов, декораторы, модули
В 95% случаев не особо нужны, а в 95% из оставшихся 5% легко делаются на коленке, то в итоге порешали, что не особо оно и надо. А тем более автофак из всех контейнеров по факту самый тормозной.
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093027
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понимаю, что вопрос не совсем корректно сформулировал (немного с пивом перестарался, извиняюсь).
Я занимаюсь рефакторингом в небольшой компании. Здесь годами писался говнокод (причём то, что писали индусы ещё более-менее!). Здесь куча разных проектов и решений, есть, к слову, и ASP, но это не моя ответственность, мальчик молодой, но толковый из Бельгии (внезапно!) работает, моя зона это БД (могу поплакаться: что мне стоило около 2000 excel таблиц загнать в Сервер).
Итак, в ASP мы (я по крайней мере) делаем следующие:
Код: c#
1.
2.
3.
4.
            services.AddTransient<ITextFieldsRepository, EFTextFieldsRepository>();
            services.AddTransient<IEventItemsRepository, EFEventItemsRepository>();
            services.AddTransient<IFunctionsRepository, EFFunctionsRepository>();
            services.AddTransient<DataManager>();

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    public class DataManager
    {
        public ITextFieldsRepository TextFields { get; set; }
        public IEventItemsRepository EventItems { get; set; }

        public IFunctionsRepository Functions { get; set; }

        public DataManager(
            ITextFieldsRepository textFieldsRepository, 
            IEventItemsRepository eventItemsRepository,
            IFunctionsRepository functions)
        {
            TextFields = textFieldsRepository;
            EventItems = eventItemsRepository;
            Functions = functions;
        }
    }

И далее не парим ум - EF ли у нас или просто текстовик, что-то подобное хотелось бы сделать для обычных проектов.
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093029
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообщем, мой впрос можно сказать совсем детский - как правильно использовать DI)))))
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093030
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в чем суть делать такой DataManager? какую функцию он выполняет?
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093032
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v skopin
И далее не парим ум - EF ли у нас или просто текстовик,

Подход правильный это есть.

v skopin
что-то подобное хотелось бы сделать для обычных проектов.

"Обычные" это .NET Framework (докоревский) или просто "не ASP.NET"?
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093041
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka
"Обычные" это .NET Framework (докоревский) или просто "не ASP.NET"?
Нет у меня это консольки новые (пока .NET 5), AvaloniaUI
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093042
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes
и в чем суть делать такой DataManager? какую функцию он выполняет?
Он подключает всё, что требуется от базы, при этом теперь мы не зависимы от самой базы, мы сказали, что от неё нужно)))
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093050
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v skopin
Вообщем, мой впрос можно сказать совсем детский - как правильно использовать DI)))))
v skopin
пока .NET 5
v skopin
Код: c#
1.
services.AddTransient<ITextFieldsRepository, EFTextFieldsRepository>();

я пока не понимаю, в чем вопрос, чем не устраивает встроенный DI тогда?
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093052
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<cut>

Модератор: Резюме размещать в разделе "Работа"
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093053
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro
я пока не понимаю, в чем вопрос, чем не устраивает встроенный DI тогда?

Похоже, он просто не знает как с ним работать без ASP.NET-овского ConfigureServices.
Обед доем, расскажу.
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093055
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
я пока не понимаю, в чем вопрос, чем не устраивает встроенный DI тогда?
КАК? в той же консоле, в библиотеке?
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093057
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093060
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый модератор!
Я не трудовое агенство, у меня это было очень индикативно, чтобы размещать в разделе Работа, если будут конкретные, 100% предложения, очевидно размещу там! Не подставляйте меня перед людьми!
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093071
fkfka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
v skopin,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
static void Main()
{
    // Create the service collection and add services.
    ServiceCollection services = new();
    services.AddTransient<Application>();
    services.AddTransient<IFoo, Foo>();
    // Obtain the service resolution scope.
    using var serviceProvider = services.BuildServiceProvider();
    using var serviceScope = serviceProvider.CreateScope();
    // Application is the "Resolution Root" of the app.
    var app = serviceScope.ServiceProvider.GetRequiredService<Application>();
    // Run all.
    app.Run();
}

public class Application
{
    private readonly IFoo _foo;

    // IFoo is to be injected by DI
    public Application(IFoo foo) => _foo = foo;

    public void Run()
    {
        _foo.HelloWorld();
    }
}

public interface IFoo
{
    void HelloWorld();
}

public class Foo : IFoo
{
    public void HelloWorld() => Console.WriteLine("Hello, world!");
}



Идея понятна? Все то же делает и ASP.NET только "под капотом".
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093072
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkfka
Идея понятна? Все то же делает и ASP.NET только "под капотом".
Отлично, ща попытаюсь реализовать)))
СПАСИБО
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093074
v skopin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя мог бы и сам догадаться, но старый уже(((
...
Рейтинг: 0 / 0
Службы в ASP в обычный код, как сделать?
    #40093178
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.NET Generic Host

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


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