Обработка нескольких событий из службы на контроллере - PullRequest
0 голосов
/ 09 января 2012

Скажем, у меня есть контроллер следующим образом:

public class Controller
{
    ISomeService _service;

    public Controller(ISomeService service)
    {
        _service = service;
        _service.EventFired += EventFired;
        _service.SomeEventFired += SomeOtherEventFired;
    }

    private void EventFire(object sender, EventArgs e)
    {
        // Might occur on FireSomeEvents();
        // Go to another controller
    }

    private void SomeOtherEventFired(object sender, EventArgs e)
    {
        // Might occur on FireSomeEvents();
        // Go to another view on this page
    }

    public void Create()
    {
        _service.FireSomeEvents();

        if(EventFired == true)
        {
            return View("EventFired");
        }
        else
        {
            return RedirectToAction("SomeOtherEventFired");
        }
    }
}

Я хочу иметь возможность лучше обрабатывать перенаправление и просмотр, потому что в итоге у меня будет 3 потенциальных события на моемоказание услуг.

Мне просто интересно, является ли это запахом дизайна, или есть ли лучший способ реализовать перенаправление на страницы ...

1 Ответ

1 голос
/ 09 января 2012

События плохо воспроизводятся в ASP.NET MVC. Их модель не адаптирована к шаблону MVC. Если вы хотите их использовать, вы можете взглянуть на асинхронные контроллеры .

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