使控制器对ASP.NET WEB API(或MVC)中的客户端不可见

马蒂亚斯·西塞罗(Matias Cicero)

假设我有一层抽象控制器,它将请求委托给它的子控制器类,直到实现为止。

认为它就像是控制器的管道,请求必须经过,并且包括缓存响应,授权和验证用户,验证输入和输出数据,处理存储库访问等。

我的类(层次结构的最后一个孩子)可能具有以下签名:

public class SeasonsController : DefaultPersistenceRestController
                                 <int, Season, SeasonPutDTO, SeasonPostDTO, SeasonQueryData> {
      /** Controller implementation here  **/
}

基类在一个模块中有很多可重用的代码,这很好,并且在全局范围内更改控制器逻辑时对我有很大帮助。

现在,假设出于不相关的原因SeasonsController需要调用EpisodesController

调用将是这样的:

EpisodesController episodeController = new EpisodesController();
//Do something with EpisodesController

问题是我不想EpisodesController从外部访问,例如客户的请求。ASP.NET自动识别控制器并为它们创建一个公共端点,例如http://localhost:80/episodes

我创建EpisodesController因为它使用了控制器基类中的大量逻辑,但是我打算在内部使用它。

如果以这种方式使用控制器,我可以取消激活身份验证,授权,缓存和所有其他无用的东西,所以这不是问题。

但是,我无法防止ASP.NET忽略我的EpisodesController类,也不想将其视为控制器。

是否存在可以告诉编译器执行此操作的属性或注释?也许在Web.config中进行一些修改

还要注意,我不想将EpisodesController的类名更改为另一个名称,因为它实际上是一个控制器,但是是一个内部控制器。

帕特科

您可以尝试使用IgnoreRoute扩展方法。或者,您也可以internal按照beautifulcoder的建议尝试如果它在另一个程序集中(并且您可以对其进行修改),则还可以使用InternalsVisibleToAttribute使它对其他程序可见

虽然说实话,但在我看来,在另一个控制器中使用一个控制器似乎不合适。我会尝试将您的常用功能重构为服务/帮助程序,那么您可能还可以使您EpisodesController成为简单的服务。继承和其他方面的组成:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

忽略ASP.NET Web API中的控制器

来自分类Dev

ASP.NET Web API控制器更新行

来自分类Dev

ASP.NET Web API帮助页省略了从基本控制器继承的控制器

来自分类Dev

ASP.NET Web API帮助页省略了从基本控制器继承的控制器

来自分类Dev

如何在ASP.NET Core Web API中将新控制器设置为默认控制器

来自分类Dev

Asp.net Web Api控制器操作通过Web配置设置授权

来自分类Dev

从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

从ASP.net MVC 4 WEB API控制器返回byte []

来自分类Dev

asp.net mvc / web api 2-控制器接受JSON对象数组

来自分类Dev

Json格式。使用Web Api控制器,ASP.NET MVC缩进

来自分类Dev

从ASP.net MVC 4 WEB API控制器返回byte []

来自分类Dev

Json格式。使用Web Api控制器,ASP.NET MVC缩进

来自分类Dev

将Asp.Net MVC控制器转换为Web API的最佳方法

来自分类Dev

Asp.net MVC项目中的Angularjs调用Web API控制器

来自分类Dev

如何在ASP.NET MVC / Web控制器中返回JSON?

来自分类Dev

定期在asp.net Web API中调用控制器操作

来自分类Dev

Asp.NET Web API中的控制器和类的列表

来自分类Dev

ASP.NET Web API v2中的后备控制器路由

来自分类Dev

如何在ASP.NET Web API异步控制器方法中返回对象列表

来自分类Dev

在ASP.Net Web API控制器中如何查找用户名?

来自分类Dev

ASP.NET Web API v2中的后备控制器路由

来自分类Dev

在ASP.NET 5中为Web API控制器模拟HttpContext

来自分类Dev

如何在 ASP Net Core 中授权 Web API 控制器

来自分类Dev

从 ASP.Net 核心 Web API 中的后请求在基本控制器中分配值

来自分类Dev

如何从ASP.NET MVC控制器上的HTML5 Web表单获取数据?

来自分类Dev

如何从控制器代码 asp.net mvc Core 调用 web url

来自分类Dev

不同的asp.net Web API控制器的不同身份验证机制

来自分类Dev

Asp.NET Web API显示所有控制器的路由

Related 相关文章

  1. 1

    忽略ASP.NET Web API中的控制器

  2. 2

    ASP.NET Web API控制器更新行

  3. 3

    ASP.NET Web API帮助页省略了从基本控制器继承的控制器

  4. 4

    ASP.NET Web API帮助页省略了从基本控制器继承的控制器

  5. 5

    如何在ASP.NET Core Web API中将新控制器设置为默认控制器

  6. 6

    Asp.net Web Api控制器操作通过Web配置设置授权

  7. 7

    从ASP.NET MVC控制器将数据发布到ASP.NET Web API控制器时的待处理请求

  8. 8

    将Asp.Net MVC控制器转换为Web API的最佳方法

  9. 9

    从ASP.net MVC 4 WEB API控制器返回byte []

  10. 10

    asp.net mvc / web api 2-控制器接受JSON对象数组

  11. 11

    Json格式。使用Web Api控制器,ASP.NET MVC缩进

  12. 12

    从ASP.net MVC 4 WEB API控制器返回byte []

  13. 13

    Json格式。使用Web Api控制器,ASP.NET MVC缩进

  14. 14

    将Asp.Net MVC控制器转换为Web API的最佳方法

  15. 15

    Asp.net MVC项目中的Angularjs调用Web API控制器

  16. 16

    如何在ASP.NET MVC / Web控制器中返回JSON?

  17. 17

    定期在asp.net Web API中调用控制器操作

  18. 18

    Asp.NET Web API中的控制器和类的列表

  19. 19

    ASP.NET Web API v2中的后备控制器路由

  20. 20

    如何在ASP.NET Web API异步控制器方法中返回对象列表

  21. 21

    在ASP.Net Web API控制器中如何查找用户名?

  22. 22

    ASP.NET Web API v2中的后备控制器路由

  23. 23

    在ASP.NET 5中为Web API控制器模拟HttpContext

  24. 24

    如何在 ASP Net Core 中授权 Web API 控制器

  25. 25

    从 ASP.Net 核心 Web API 中的后请求在基本控制器中分配值

  26. 26

    如何从ASP.NET MVC控制器上的HTML5 Web表单获取数据?

  27. 27

    如何从控制器代码 asp.net mvc Core 调用 web url

  28. 28

    不同的asp.net Web API控制器的不同身份验证机制

  29. 29

    Asp.NET Web API显示所有控制器的路由

热门标签

归档