2009-12-01 3 views
3

여러 가지 상태가 포함 된 상태 시스템 워크 플로가 있습니다. 각 상태에는 외부 이벤트를 처리하는 이벤트 기반 활동이 있습니다. 해당 이벤트가 발생하면 다른 Controller Action 또는 View으로 요청을 리디렉션하고 싶습니다.ASP.NET MVC의 상태 시스템 워크 플로로 작업

상태 시스템 워크 플로에서 이벤트가 발생하면 다른보기 또는 컨트롤러 작업으로 리디렉션하는 가장 좋은 방법은 무엇입니까? 워크 플로우 조치 실행에 필요한 사항을 결정하면
http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.redirecttoaction.aspx

, 그 메소드를 호출하고 브라우저 리디렉션 및 제어가 해당 작업으로 이동합니다 :

+0

+1 Thats 좋은 질문, 동정 좀 더 인기있는 해당 태그를 좀 더주의 깊게 검색하면 적시에 답변을 얻을 확률이 높아집니다. – AnthonyWJones

+1

@ George : Why C#? 관련성이 있다는 증거가 있습니다. 원래 누락 된 중요한 태그는 워크 플로 기반이었습니다. – AnthonyWJones

+0

@AnthonyWJones ASP.NET MVC는 대부분 C#으로 처리됩니다. C#은 직접 MVC 경험이 없지만 문제 영역에서 경험을 쌓고 도움을 줄 수있는이 문제에 대한 광범위한 시각을 제공합니다. –

답변

2

당신은 방금 RedirectToAction 방법을 사용할 수 있습니다. 반면에 특정보기를 표시해야하는 경우 컨트롤러의 View 메서드를 사용하여 표시 할보기의 이름을 전달하면됩니다.
http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.view.aspx

+0

모두에게 감사의 말을 전하고이 질문에 답해 주셔서 감사합니다. 나는이 질문에 대해 "공중 제비 잡초"배지를 얻었으며 아무도 그 질문에 대답하지 않을 것이라고 생각했다. 워크 플로가 컨트롤러 작업에서 실행될 때 워크 플로의 외부 이벤트에서 RedirectToAction 메서드를 호출 할 수 있습니까? 예를 들어, 내 작업에서 다음과 같을 수 있습니다. ActionResult DoSomething (int id) { MyExternalEventService.RaiseEvent(); WorkflowRuntimeHandle.RunWorkflow(); // 여기 StateMachineWorkflowInstance를 쿼리하고 을 리디렉션 할 수 있습니다. // 현재 상태를 기반으로하거나 리디렉션 할 수 있습니다. } –

+0

글쎄, 그것은 다릅니다 ... RedirectToAction의 결과는 작업 메서드에서 반환해야합니다. 따라서 워크 플로에서 그 값을 추출하여 반환 할 수 있다면 ...하지만 워크 플로를 실행 한 다음 상태를 검사하고이를 기반으로 작업 방법을 결정하는 것이 좋습니다. –

관련 문제