我已根据我从 Pro ASP.NET MVC Framework 书中获得的代码,在我的应用中为表单提交页面实现了CAPTCHA。
他有一个提示,说“如果你想把它变成一个可重复使用,可分发的CAPTCHA组件......你所要做的就是把CaptchaHelper和CaptchaImageController类放到一个独立的程序集中。” / p>
这是什么意思?
我在想我只是创建一个新的MVC项目,在控制器文件夹中有这个单个控制器,在Helper文件夹中有帮助文件。它编译得很好。
然后我将该项目包含到我的解决方案中,并在我的其他两个子项目中添加了对该项目的引用(一个用于业务层,另一个用于ui)。
但是当我尝试渲染页面时,视图无法渲染验证码图像。 (顺便说一句,在我把它分解成一个单独的项目之前,它工作得很好。)
查看页面似乎找不到CAPTCHA控制器。
我想我需要帮助创建一个独立的控制器......
谢谢, 斯科特
错误是:
Castle.MicroKernel.ComponentNotFoundException:找不到支持服务Captcha.CaptchaImageController的组件 在Castle.MicroKernel.DefaultKernel.get_Item(类型服务) 在Castle.Windsor.WindsorContainer.Resolve(类型服务) 在WebUI.WindsorControllerFactory.GetControllerInstance(类型controllerType)中 C:\ work_aspx \ PostHealthWellness \ WebUI \ WindsorControllerFactory.cs:第48行 在System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext,String controllerName) 在System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext) 在System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext) 在System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext) 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
答案 0 :(得分:0)
使用这两个文件创建标准类库项目。添加所需的引用(MVC ...)以使其编译。添加已编译的dll作为对主Web应用程序的引用。