2010-05-20 3 views
2

ASP.NET MVC (2) 및 Spring.NET을 사용하여 응용 프로그램을 만들고 있습니다.ASP.NET MVC 일반 컨트롤러 및 Spring.NET

내 컨트롤러 구현의 대부분은 단지 유사한 CRUD 작업을 구현하기 때문에 여기에 설명 된대로, 나는 단지 하나의 일반 컨트롤러를 만들 싶습니다

In asp.net mvc is it possible to make a generic controller?

그러나, 위의 예는 고려하지 않습니다 DI 프레임 워크를 고려해야합니다. objects.xml에서

public SpringGenericControllerFactory : DefaultControllerFactory { 

    public IController CreateController(RequestContext requestContext, string controllerName) { 

     // Determine the controller type to return 
     Type controllerType = Type.GetType("MyController").MakeGenericType(Type.GetType(controllerName)); 

     // Return the controller 
     return Activator.CreateInstance(controllerType) as IController; 

    } 
} 

의 항목은 다음과 같이 보일 것입니다 :

내가 생각하고는이 (이 내가 도움이 필요 코드의 추한 질량 경고)를 만드는 것입니다

<object id="controllerFactory" type="Application.Controllers.SpringGenericControllerFactory" />

<object id="DepartmentController" factory-method="CreateController" factory-object="controllerFactory" />

사람이를 선택하고 조언을 제공 할 수 있습니까?

답변

0

두 가지 :

  • 컨트롤러 명 인수가 실제로 '부'하지 'DepartmentController'로 통해 올 것이다. 이것을 처리하거나 objects.xml의 이름을 조정해야합니다.

  • 컨텍스트가 컨트롤러를 반환하지 않는 경우 기본 구현으로 폴백해야합니다. 이 경우 기본 클래스 구현으로 돌아 가야합니다.