单独程序集中的 ASP.NET Core MVC 控制器

2024-03-27

我正在使用 ASP.NET MVC Core RC-2。我有一个针对完整 .NET 框架的 Web 项目。我在解决方案中还有一个单独的类库,也针对完整的框架。

在类库中,我有一个控制器,标有路由属性。我已经从网络项目中引用了类库。该程序集引用了 nuget 包Microsoft.AspNetCore.Mvc v. 1.0.0-rc2-final.

据我了解,这个外部控制器会被自动发现,例如http://www.strathweb.com/2015/04/asp-net-mvc-6-discovers-controllers/ http://www.strathweb.com/2015/04/asp-net-mvc-6-discovers-controllers/

然而这对我不起作用——我浏览到路由的 URL,然后得到一个空白页面,并且它没有到达我的控制器断点。

有什么想法如何让它发挥作用吗?

有趣的是,它似乎确实适用于针对 .NET Core Framework 的 Web 项目,引用了也针对 .NET Core 的类库。但不适用于针对完整框架、引用标准 .NET 类库的 Web 项目。

注意:这是 MVC Core,它应该支持这种场景,无需任何MVC. https://stackoverflow.com/questions/7560005/how-to-register-a-controller-into-asp-net-mvc-when-the-controller-class-is-in-a


在 ASP.Net Core 1.0 中仍然是一个问题,不确定现在是否是设计使然。最简单的解决方案是在 Startup.cs/ConfigureServices 中执行此操作

services.AddMvc()
  .AddApplicationPart(typeof(<class in external assembly>).Assembly)
  .AddControllersAsServices();

AddApplicationPart 在搜索控制器时显式包含该程序集。 对 AddControllersAsServices() 的调用会将所有发现的控制器添加到服务集合中,如果您在此行后面放置一个断点并检查“services”,您将在集合中看到所有已找到的控制器类型。

您可能还想在这里检查:https://docs.asp.net/en/latest/migration/rc1-to-rtm.html#asp-net-5-mvc-compile-views https://docs.asp.net/en/latest/migration/rc1-to-rtm.html#asp-net-5-mvc-compile-views因为现在针对 RC1 的控制器更改了发现规则。

还要记住使用 IActionResult 而不是 ActionResult!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单独程序集中的 ASP.NET Core MVC 控制器 的相关文章

随机推荐

  • 实现 Java“byte[] 到 Hex”类的 Scala 方法是什么

    我对使用格式构建字符串的 Scala 2 8 技术特别感兴趣 以及使这种功能在有用的地方轻松访问的有趣方法 字节列表 字符串 public class Hex public static String valueOf final byte
  • Python:如何使用 Importlib 创建类对象[重复]

    这个问题在这里已经有答案了 我知道类似的问题已被多次提出 回答 但请继续阅读 我正在尝试从字符串值创建一个类 如 将字符串转换为 Python 类对象 https stackoverflow com questions 1176136 co
  • Node js请求和cheerio等待页面完全加载

    我正在尝试从页面上抓取图像 但如果该页面未完全加载 需要大约 0 5 秒才能完全加载 该页面会返回占位符源属性 我将如何让请求等待 尝试做 function findCommonMovies movie callback request h
  • Angular2 图像未显示

    每当我在 html 中添加图像标签时 我都会执行以下操作 img src resources img myimg png The image doesn t show Instead i get something this showing
  • 恢复已删除(?)生产系统的 Google OAuth 客户端应用程序

    我们从 Google API 收到 401 错误 401 That s an error Error deleted client The OAuth client was deleted Google OAuth API 客户端似乎已被删
  • 当直接从`object`继承时,我应该调用super().__init__()吗?

    由于这个问题是关于继承和super 让我们从编写一个类开始 这是一个代表一个人的简单日常类 class Person def init self name super init self name name 像每个好类一样 它在初始化自身之
  • Selenium Javascript 执行器返回 null

    我有以下 JavaScript 代码返回null当通过Selenium时JavascriptExecutor 然而 在 Firefox 开发者控制台中运行相同的代码会返回一个值 function tmp var attrb jQuery j
  • arm gcc工具链为arm-elf或arm-none-eabi,有什么区别?

    当您构建 gcc 工具链时 可以将其构建为arm elf 或arm none eabi 但是有什么区别呢 我今天使用 eabi 但这只是因为其他人似乎都这样做 但由于这是一个非常糟糕的论点 因此理解其中的差异真的很高兴 注意 此工具链将为基
  • onchange 文件输入更改 img src 并更改图像颜色

    onchange 事件不起作用 我应该做什么才能在同一页面上获得结果 我不想重定向到任何其他页面来上传图像 这个问题是因为opencart吗 不知道cpanel中这样写是否正确 我正在使用 opencart 和 cpanel 还有其他办法吗
  • 旋转 Android VideoView

    我的应用程序仅提供纵向模式 在纵向活动中 我有一个全屏视频视图 我想要做的是在横向模式下将 VideoView 实际视频 视频缓冲区 旋转 90 度 无法让 Activity 处于横向模式 扩展 VideoView 和画布旋转将不起作用 因
  • 没有 Web 表单的 PHP POST 数据[重复]

    这个问题在这里已经有答案了 有没有一种方法可以在不使用 Web 表单的情况下发送 POST 数据 我正在与第 3 方支付处理商合作 我可以选择手动提交付款 但数据需要采用 POST 格式 我计划将我的脚本作为 CRON 作业运行 因此由于它
  • 在tomcat上多次部署同一个应用程序

    我想在同一个 tomcat 实例上为不同的 客户 多次部署相同的应用程序 由于我对 tomcat 和其他应用程序服务器没有真正的经验 所以我没有起点 当我简单地生成像app1 war和app2 war这样的war文件 基于相同的代码 时 它
  • 如何通过属性值从字典中获取项目

    我有一个Dictionary
  • html 标签属性内的字符显示为问号

    我的应用程序允许用户上传带有 嵌入 标题的图像 这些标题取自 exif 数据 foreach exif read data image jpg 0 true as key gt section foreach section as name
  • 如何在 xib 文件中使用“First Responder”?

    我读到了有关响应者链的内容 基本上我读到了有关 UI 事件如何在响应者链上传递 如何处理它们以及如何传递的内容 我还使用了 becomeFirstResponder 和 resignFirstResponder 但我仅将它们用于基本任务 例
  • Hibernate 从 HqlSqlWalker 抛出 NullPointerException

    我有一个 Web 应用程序 其中有一个搜索表单 并且 HQL 是动态生成的 此外 用户可以单击列标题根据需要对项目进行排序 有些列从结构的深处获取数据 例如 我有这个 HQL 它可以完美地工作 SELECT s FROM Applicati
  • Javamail 无法收到所有邮件

    我试图获取我的 Gmail 的所有邮件 但只能获取 250 封 根据https javaee github io javamail FAQ gmailsettings https javaee github io javamail FAQ
  • Android短信设置唯一ID

    我正在尝试开发一个发送和接收 SMS 消息 除其他外 的 Android 应用程序 我希望我的应用程序短信能够轻松识别 我不想使用 SMS 消息正文作为这个唯一标识符 我认为必须有一个我可以使用的 SMS 消息属性 遗憾的是 我未能找到一个
  • 直接调用功能组件

    无状态功能组件只是一个接收函数props并返回 React 元素 const Foo props gt
  • 单独程序集中的 ASP.NET Core MVC 控制器

    我正在使用 ASP NET MVC Core RC 2 我有一个针对完整 NET 框架的 Web 项目 我在解决方案中还有一个单独的类库 也针对完整的框架 在类库中 我有一个控制器 标有路由属性 我已经从网络项目中引用了类库 该程序集引用了