Asp.net mvc ASP.NET MVC-验证码作为独立程序集

Asp.net mvc ASP.NET MVC-验证码作为独立程序集,asp.net-mvc,Asp.net Mvc,我已经根据从Pro ASP.NET MVC框架手册中获得的代码在我的应用程序中实现了表单提交页面的验证码 他有一个提示说如果你想把它变成一个可重用的,可分发的验证码组件。。。您所要做的就是将CaptchaHelper和CaptchaImageController类放入一个独立的程序集中 这是什么意思 我想我应该创建一个新的MVC项目,将这个控制器放在controller文件夹中,将helper文件放在helper文件夹中。它编译得很好 然后,我将该项目包括到我的解决方案中,并在我的其他两个子项目

我已经根据从Pro ASP.NET MVC框架手册中获得的代码在我的应用程序中实现了表单提交页面的验证码

他有一个提示说如果你想把它变成一个可重用的,可分发的验证码组件。。。您所要做的就是将CaptchaHelper和CaptchaImageController类放入一个独立的程序集中

这是什么意思

我想我应该创建一个新的MVC项目,将这个控制器放在controller文件夹中,将helper文件放在helper文件夹中。它编译得很好

然后,我将该项目包括到我的解决方案中,并在我的其他两个子项目(一个用于业务层,另一个用于ui)中添加了对该项目的引用

但是当我试图呈现页面时,视图无法呈现验证码图像。顺便说一句,在我把它分解成一个单独的项目之前,它工作得很好

查看页面似乎找不到验证码控制器

我想我需要帮助创建一个独立的控制器

谢谢, 斯科特

错误是:

Castle.MicroKernel.ComponentNotFoundException:未找到支持服务Captcha.CaptchaImageController的组件 位于Castle.MicroKernel.DefaultKernel.get_ItemType服务 在Castle.Windsor.WindsorContainer.ResolveType服务 在WebUI.WindsorControllerFactory.GetControllerInstanceType controllerType中键入 C:\work\U aspx\PostHealthWellness\WebUI\WindsorController Factory.cs:48行 在System.Web.Mvc.DefaultControllerFactory.CreateControllerRequestContext requestContext中,字符串controllerName 位于System.Web.Mvc.MvcHandler.ProcessRequestHttpContextBase httpContext 位于System.Web.Mvc.MvcHandler.ProcessRequestHttpContext httpContext 位于System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequestHttpContext httpContext 在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute 在System.Web.HttpApplication.executesteppexecutionstep步骤中,布尔值&同步完成


使用这两个文件创建一个标准类库项目。添加所需的参考MVC。。。让它编译。添加已编译的dll作为对主web应用程序的引用。

是的,我这样做了,但我还必须向Windsor注册我的外部控制器。使用我在[here][1]找到的信息,我编辑了我的WindsorController Factory.cs文件以添加://在external Assemblys container.Kernel.AddComponentExternalResources中注册控制器,typeofCaptcha.CaptchaImageController,LifestyleType.Transient;[1] :因此,我对DLL进行了此操作,但随后我必须添加container.Kernel.AddComponentExternalResources、typeofCaptcha.CaptchImageController、lifetyleType.Transient;到主构造函数末尾的WindsorController Factory类。