tis*_*tha 7 asp.net-mvc asp.net-mvc-4
我用剃须刀使用Asp.net MVC4.我想知道如何在同一个解决方案中将控制器从一个项目调用到另一个项目.(我是MVC4的新手)

您可以简单地将控制器添加到另一个项目(类lib或MVC项目等等).我们有几个共享控制器的项目(webAPI以及MVC).我通常使用API控制器的区域约束和MVC控制器的命名空间约束 - 特别是如果你有一些类似于一些项目的基本HomeController.cs并且你想在一个特定的MVC应用程序项目中覆盖它.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Common.MVC.Controllers" }
);
Run Code Online (Sandbox Code Playgroud)
答案在很大程度上取决于您要解决的具体问题。
在 Stack Overflow 上提问时要记住这一点。有时,询问如何解决问题比询问如何完成您提出的解决方案更有益。
如果您的目标是避免代码复制,最简单的答案是将第二个项目添加为第一个项目的引用。访问控制器仍然有点困难,因为您需要正确实例化它,所以我建议您将希望避免复制到第三个项目的代码抽象出来,并让您的两个 MVC 项目都调用您的实用程序类已经创建了。
另一种可能性是您希望 Web 服务能够相互交互,同时保持客户端/服务器关系。这可以通过创建一个指向 Visual Studio 在运行第二个 Web 服务项目时选择的端口号的 HTTP Web 请求来实现。.Net 能够做到这一点,但我个人建议使用RestSharp。
| 归档时间: |
|
| 查看次数: |
16505 次 |
| 最近记录: |