Лучшие практики для добавления некоторых данных в очередь - PullRequest
0 голосов
/ 24 ноября 2010

У меня есть веб-приложение, в которое пользователи могут загружать фотографии.У меня работает служба Windows, которая берет загруженную фотографию и обрезает ее до разных размеров.Это выполняется в указанный интервал.Фотография будет видна пользователю один раз после обрезки.Поэтому, как только пользователь загрузит фотографию, а фотообрезчик еще не запустится, он не сможет увидеть фотографию.Из-за этого поведения пользователь думает, что при загрузке фотографии произошла ошибка, и он будет загружать ее снова и снова.

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

Я использую asp.net & C #.

Пожалуйста, дайте мне знать, если я запутался.

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

Использование шины NService - лучший вариант, я думаю. С помощью шины NService вы можете обрабатывать сообщение, как только оно поступает в очередь. Вы также можете разместить свое приложение NService в качестве службы окна. Автобус NSerivice

1 голос
/ 24 ноября 2010

Microsoft Message Queue (MSMQ) изначально доступна в .Net. Вы можете передавать свои собственные типы и считывать их в своей службе Windows, если у вас есть общая DLL, содержащая общий интерфейс / конкретную реализацию.

Очевидно, что он должен быть установлен на сервере, но обычно является частью установки по умолчанию.

0 голосов
/ 24 ноября 2010

Лично я думаю, что то, что вы пытаетесь сделать - обрезать загруженную фотографию, не должно занять слишком много времени, и, как кто-то предложил в комментарии к вопросу, вам нужны накладные расходы на создание инфраструктуры, где работа ставится в очередь и обрабатывается вне процесса другим приложением? Много ли это произойдет (сколько запросов обрезки фотографий в секунду / мин?). Вместо этого вы можете не просто отправить запрос через AJAX на сервер, а использовать некоторую форму анимации «пожалуйста, подождите» в браузере, пока запрос в конечном итоге не вернется и фотография не будет обрезана?

Если вы считаете, что вам нужно пойти по очереди, то я бы предложил MSMQ, потому что с ним очень просто работать - см. Пример кода здесь

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