powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Core: как добавить другие контроллеры?
15 сообщений из 15, страница 1 из 1
ASP.NET Core: как добавить другие контроллеры?
    #39818121
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой пример
https://www.codeproject.com/Articles/3132485/CRUD-Operation-using-ASP-NET-CORE-2-2-and-React-Re

В нем есть контроллер, вью, страница и т.д.
Как быть, если мне надо работать еще с несколькими другми таблицами?
Т.е. в стартапе есть код:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public void ConfigureServices(IServiceCollection services)
{
	services.AddTransient<IContactService, ContactService>();//<---------------
	services.AddMvc()
		.AddControllersAsServices() 
		.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

	var connection = @".;Database=ContactDB;Trusted_Connection=True;";
	services.AddDbContext<ContactDBContext>(options => options.UseSqlServer(connection));

	services.AddSpaStaticFiles(configuration =>
	{
		configuration.RootPath = "ClientApp/build";
	});
}



Я так понимаю - я добавляю другие интерфейсы, контроллеры и их потом добавляю здесь?

типа такого:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public void ConfigureServices(IServiceCollection services)
{
	services.AddTransient<IContactService, ContactService>();//<---------------
	services.AddTransient<IShopService, ShopService>();//<---------------
	services.AddTransient<IDeliveryService, DeliveryService>();//<---------------

	services.AddMvc()
		.AddControllersAsServices()
		.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

	var connection = @".;Database=ContactDB;Trusted_Connection=True;";
	services.AddDbContext<ContactDBContext>(options => options.UseSqlServer(connection));

	services.AddSpaStaticFiles(configuration =>
	{
		configuration.RootPath = "ClientApp/build";
	});
}
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818126
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Это ссылка на SPA проект.
То есть проект делим на бэкенд REST и фронт в ветке JS форума с любой библиотекой.
Здесь все намешано.
Кто сказал что это ресурс в сети правильный?
..
Ну а вот REST делается на Core элементарно и отработано.
Imho.
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818133
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Ролг Хупин,
Это ссылка на SPA проект.
То есть проект делим на бэкенд REST и фронт в ветке JS форума с любой библиотекой.
Здесь все намешано.
Кто сказал что это ресурс в сети правильный?
..
Ну а вот REST делается на Core элементарно и отработано.
Imho.

Что значит "ресурс в сети правильный"? Рабочий пример.

Я построил пример, он запускается, но возник вопрос, как прикрутить другие контроллеры.
SPA работает только с одним контроллером? т.е. если просто сказать по сути - с одной таблицей в базе?
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818135
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Объясняю.
Этот сайт полон как хорошими примерами так и плохими.
Это плохой.
В spa контроллеры на клиенте в ангуляре или в реакте или.
А контроллеры бэка это REST. Не путай.
Вопрос и тема ДРУГАЯ.
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818136
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинРабочий пример.рабочим может быть любой Г. код из сети.
Это не аргумент.
Удачи!
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818140
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контроллеры добавлять не надо - MVC cам их ищет. То что ты пометил - это регистрация сервисов, которые будут инжектится (например в контроллеры). Если какой-то контроллер использует какой-то твой сервис, то ты просто регистрируешь его там, где ты показал, через "Add", добавляешь его в конструктор контроллера и DI при создании контроллера автоматически передаст туда ссылку на экземпляр этого сервиса - тебе останется только её сохранить (например в приватном поле) и потом в методах контроллера ей пользоваться.

Петя, как всегда навалил тут совершенно иррелевантного бреда про REST, SPA, и проч. Заблокируй его лучше скриптом, а то он тебя вообще запутает.
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818150
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat<фильтр>Петя<фильтр>)) без пети он не может. Ну ревность, чего взять. Бывает.
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818203
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос по тому же примеру, в файле NavMenu.js написал русским языком (см. ниже) вместо английского слова
Код: javascript
1.
            <NavbarBrand tag={Link} to="/">Приложение</NavbarBrand>



Запускаю приложение - показывает значки типа ромбиков с ?????????
Что-то не так с кодировкой? как изменить?

Код: javascript
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.
38.
39.
40.
41.
42.
import React from 'react';
import { Collapse, Container, Navbar, NavbarBrand, 
NavbarToggler, NavItem, NavLink } from 'reactstrap';
import { Link } from 'react-router-dom';
import './NavMenu.css';

export default class NavMenu extends React.Component {
  constructor (props) {
    super(props);

    this.toggle = this.toggle.bind(this);
    this.state = {
      isOpen: false
    };
  }
  toggle () {
    this.setState({
      isOpen: !this.state.isOpen
    });
  }
  render () {
    return (
      <header>
        <Navbar className="navbar-expand-sm navbar-toggleable-sm 
         border-bottom box-shadow mb-3" light >
          <Container>
            <NavbarBrand tag={Link} to="/">Приложение</NavbarBrand>
            <NavbarToggler onClick={this.toggle} className="mr-2" />
            <Collapse className="d-sm-inline-flex flex-sm-row-reverse" 
                      isOpen={this.state.isOpen} navbar>
              <ul className="navbar-nav flex-grow">
                <NavItem>
                   <NavLink tag={Link} className="text-dark" to="/contacts">Contact</NavLink>
                </NavItem>
              </ul>
            </Collapse>
          </Container>
        </Navbar>
      </header>
    );
  }
}
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818227
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

Может просто JS файл сохранен с неправильной кодировкой? 1251 например. Открой и сохрани его как UTF-8 (without BOM).
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818233
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatРолг Хупин,

Может просто JS файл сохранен с неправильной кодировкой? 1251 например. Открой и сохрани его как UTF-8 (without BOM).

в точку, спасибо.
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818899
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... так а в чем проблема с несколькими контроллерами? ... не только таблиц ведь может быть несколько, но и БД .. ну, так исторически сложилось, и сущность ДБА не хочет уступать сущности программиста, ибо нефик (1С-никам так удобнее, например) ...
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39818921
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,
Да он спрашивал про конкретный пример по ссылке. Другие варианты его не интересуют.
И смешал роутинг с инжекцией сервисов базы или орм.
Понятно что можно по простому инжектить во все контроллеры просто контекст EF.
Всё.
В каждом контроллере есть все что нужно.
Ты совершенно прав. Тогда слово таблица вообще не возникает.
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39819671
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123carrotik,
Да он спрашивал про конкретный пример по ссылке. Другие варианты его не интересуют.
И смешал роутинг с инжекцией сервисов базы или орм.
Понятно что можно по простому инжектить во все контроллеры просто контекст EF.
Всё.
В каждом контроллере есть все что нужно.
Ты совершенно прав. Тогда слово таблица вообще не возникает.

Петя<фильтр>, а можно кроме фантазии что-то типа ответа?
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39819768
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,
Вот же ответ
авторПонятно что можно по простому инжектить во все контроллеры просто контекст EF
...
Рейтинг: 0 / 0
ASP.NET Core: как добавить другие контроллеры?
    #39819780
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг ХупинПетя<фильтр>,не всем дано читая ответы про архитектуру их усваивать и переваривать
21896606
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Core: как добавить другие контроллеры?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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