Pro ASP.NET MVC Framework에서 가져온 코드별로 응용 프로그램의 양식 제출 페이지에 CAPTCHA를 구현했습니다.ASP.NET MVC - 독립 실행 형 어셈블리로서의 Captcha
그는 "재사용 가능한 배포 가능한 CAPTCHA 구성 요소로 바꾸고 싶다면 CaptchaHelper 및 CaptchaImageController 클래스를 독립 실행 형 어셈블리에 배치하면됩니다."
이것은 무엇을 의미합니까?
필자는 새로운 MVC 프로젝트를 만들고,이 단일 컨트롤러를 컨트롤러 폴더에, 헬퍼 파일을 도우미 폴더에 가지고 있다고 생각했습니다. 그것은 잘 컴파일됩니다.
그 다음이 프로젝트를 내 솔루션에 포함시키고이 프로젝트에 대한 참조를 다른 하위 프로젝트 (비즈니스 레이어 용, 다른 UI 용)에 추가했습니다.
그러나 페이지를 렌더링하려고하면보기에서 captcha 이미지를 렌더링 할 수 없습니다. (btw, 그것은 별개의 프로젝트로 나눠지기 전에 잘 작동했습니다.)
보기 페이지에서 CAPTCHA 컨트롤러를 찾지 못하는 것 같습니다. 내가 독립 컨트롤러를 만드는 데 도움이 필요 추측
...
감사합니다, 스콧
오류는 다음과 같습니다
Castle.MicroKernel.ComponentNotFoundException : 지원 없음 구성 요소 Castle.MicroKernel.DefaultKernel.get_Item (유형 서비스)에서 이라는 서비스 Captcha.CaptchaImageController가 발견되었습니다. Castle.Windsor.WindsorContainer.Resolve (유형 서비스) 에서
C에서 WebUI.WindsorControllerFactory.GetControllerInstance (유형 controllerType)에서 : \ work_aspx \ PostHealthWellness \ UI를 \ WindsorControllerFactory.cs : 라인 48 System.Web.Mvc.DefaultControllerFactory.CreateController 시스템에서 (RequestContext requestContext, 문자열 컨트롤러 명) 에서. Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase으로 HttpContext) System.Web.Mvc.MvcHandler.ProcessRequest (HttpContext를 HttpContext를) System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest에서 을 (HttpContext를 HttpContext를) 에서 시스템에서 .Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() System.Web.HttpApplication.ExecuteStep에서 (IExecutionStep 단계, 부울 &Synchronously completed)
예, 저는 이것을했으나 Windsor에 외부 컨트롤러를 등록해야했습니다. // 등록 컨트롤러를 외부 어셈블리에 container.Kernel.AddComponent ("ExternalResources"의 typeof (Captcha.CaptchaImageController), LifestyleType을 : 나는 [여기]를 발견 – Scott
사용 정보 [1], 나는 추가 내 WindsorControllerFactory.cs 파일을 편집 .과도 현상); [1] : http://stackoverflow.com/questions/1163900/external-controllers-and-castle – Scott
댓글에 서식이 없습니다 .... – Scott