2010-07-08 1 views
0

입력 된 문자열 또는 슬러그 (예 : 만들기 또는 편집보기)의 함수/메소드를 코딩하려는 경우 데이터 저장소로 이동하여 해당 문자열 또는 슬러그가 있는지 여부를 확인하고이 경우 링크를 작성하십시오. 당신은 어디에 넣을까요?ParseUrl() 또는 ASP.NET MVC에서 데이터 저장소에 대해 작동하는 비슷한 함수를 넣을 위치는 어디입니까?

예를 들어, 작성 또는 편집 양식에 "링크"텍스트 상자가 있습니다. 기존 jQuery 자동 완성을 사용하여 기존 페이지 슬러그를 검색합니다.

~/Page/Display/some-slug 

하거나

~/Page/some-slug 

경우 : 사용자가 그 중 하나를 선택하기로 결정하면, 우리는이 같은 페이지 컨트롤러를 기반으로 사이트 내 컨텐츠를 가리키는 링크를 만들 것 그러나 사용자는 www.google.com과 같은 항목을 선택하지 않기로 결정하고 ParseUrl()에서 캐싱하고 http : // ... 등으로 형식을 지정하여 저장합니다.

함수 코드는 문제가 없으며 현재 모델 바인더에서 작업하고 있습니다. 그러나 Model Binders에서 DI를 사용하는 이상하고 혼란스럽고 반대되는 관행 때문에 다른 곳으로 옮기고 싶습니다. 또 다른 이유는 모델 바인더에서 데이터 액세스 코드를 제거하는 것입니다.

질문은 - 그러한 기능을 어디로 옮길 것입니까? 가능한 경우 다양한 컨트롤러 작업에서 ParseUrl() 호출을 반복하지 않도록하고 싶습니다.

답변

0

1)은 귀하와 귀하의 팀에게 적합합니다. 그 이미 작업 때문에

2)이를 남겨주세요 또는 -

그것은이다. 귀하의 앱을 개선하기 위해 이동하고 있습니까, 귀하의 고객은 더 행복해지고 마감일은 더 빨리 충족됩니까?

잘못된 확장 점을 감히 사용하면 천국에서 내려와 천체에 빠져 들리는 마법의 Asp.net MVC 천둥 신이 없습니다. 아무도 당신을 바보라고 부르지 않을 것입니다. 사람들은 동의하지 않을 수도 있지만 그럴 수 있습니다. 그것의 "ok"와 은 구조적으로 순수하기 전에 끝내야합니다..

"는 그러나, 이상한 혼란과 모델 바인더에서 DI와 반대 관행"

그게 무슨 뜻이야?

+0

모델 바인더의 DI에 대한 인수 : http://stackoverflow.com/questions/2899680/how-to-use-ninject-or-other-di-ioc-container-with-the-model-binder-in -asp-net 모델 바인더의 DI에 대한 인수 및 코드 : http://iridescence.no/post/Constructor-Injection-for-ASPNET-MVC-Model-Binders.aspx http://www.dominicpettifer.co .uk/blog/39/dependency-injection-in-asp-net-mvc-2 --- part-2 - modelbinders-viewmodels – mare