none
ASP.NET Web Api сохранение состояния между запросами RRS feed

  • Вопрос

  • Здравствуйте. Использую web api и не знаю как можно сделать так, чтобы небыло расходов на инициализацию контроллеров.

    Вот примерный код:

    public class AuthorizationController : ApiController
    {	
       private UserWorker userWorker = new UserWorker();
    
       HttpPost	
       public void Register(...)	
       {...		
          userWorker.Register(...);...	
       }
    }

    При каждом запросе, userWorker заново инициализируется. Как мне быть?

    30 января 2015 г. 16:40

Ответы

  • Используйте пул объектов. Посмотрите тут и тут.

    Сделаем содержимое сообщества лучше, вместе!

    31 января 2015 г. 8:05
    Модератор
  • "Каждый запрос обрабатывается в отдельном домёне?" - нет, в отдельном потоке. Один домен создаётся для всего приложения.

    "делаю игру, для которой будет сервер с web api. К этому серверу будут подключаться пользователи и не редко брать информацию (~100 запросов в секунду) (т.е. нужен постоянный коннект). " - в этом случае вам лучше смотреть в сторону веб-сокетов и SignalR.

    "Почему сайты делают с REST (stateless), ведь при каждом запросе создаются объекты заново => медленно. Или я чего-то не понимаю? Поправьте пожалуйста." - всему своя технология. Если вам нужно работать используя REST то тут нужно использовать Web API, а у вас в данном случае другая задача.


    Сделаем содержимое сообщества лучше, вместе!

    31 января 2015 г. 16:48
    Модератор

Все ответы

  • Используйте пул объектов. Посмотрите тут и тут.

    Сделаем содержимое сообщества лучше, вместе!

    31 января 2015 г. 8:05
    Модератор
  • Ещё несколько вопросов :)

    1. Каждый запрос обрабатывается в отдельном домёне?
    2. Не затратно ли на каждый запрос создавать заново контроллер, домён и т.д.?

    3. делаю игру, для которой будет сервер с web api. К этому серверу будут подключаться пользователи и не редко брать информацию (~100 запросов в секунду) (т.е. нужен постоянный коннект).

    Ту ли я технологию выбрал, или использовать WCF лучше? Для каких случаем подходит WebApi?

    4. Почему сайты делают с REST (stateless), ведь при каждом запросе создаются объекты заново => медленно. Или я чего-то не понимаю? Поправьте пожалуйста.

    • Изменено glebov21 31 января 2015 г. 15:13
    31 января 2015 г. 14:41
  • "Каждый запрос обрабатывается в отдельном домёне?" - нет, в отдельном потоке. Один домен создаётся для всего приложения.

    "делаю игру, для которой будет сервер с web api. К этому серверу будут подключаться пользователи и не редко брать информацию (~100 запросов в секунду) (т.е. нужен постоянный коннект). " - в этом случае вам лучше смотреть в сторону веб-сокетов и SignalR.

    "Почему сайты делают с REST (stateless), ведь при каждом запросе создаются объекты заново => медленно. Или я чего-то не понимаю? Поправьте пожалуйста." - всему своя технология. Если вам нужно работать используя REST то тут нужно использовать Web API, а у вас в данном случае другая задача.


    Сделаем содержимое сообщества лучше, вместе!

    31 января 2015 г. 16:48
    Модератор