ASP.NET MVC - Captcha作为独立程序集

时间:2010-02-02 19:27:50

标签: asp.net-mvc

我已根据我从 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)

1 个答案:

答案 0 :(得分:0)

使用这两个文件创建标准类库项目。添加所需的引用(MVC ...)以使其编译。添加已编译的dll作为对主Web应用程序的引用。