【发布时间】:2018-02-15 21:08:24
【问题描述】:
令我们惊讶的是,我们的团队发现我们的 ApiController 类会针对每个传入请求进行实例化。我们团队中的大多数开发人员都希望控制器实例可以在默认情况下跨请求重用。*
我们已经搜索了这背后的理由或推理,以了解在重用 Controller 实例和创建新实例之间可能涉及的权衡,但没有找到任何具体的结果。是否有关于它的文档参考?
*我们确实意识到可能有一种方法可以改变行为(使其在请求之间重用实例),但这不是这个问题的重点。
【问题讨论】:
-
我不明白接近投票说这是基于意见的 - 我特别措辞这个问题是为了征求参考,而不是意见。
-
您的问题源于您对流程的工作方式缺乏了解。您自己发现了它的实际工作原理(赞)。但是现在您要询问为什么系统按照其设计方式设计的理由,这不是一个好的 SO 问题。 (您要求参考“谈论它”......我假设“它”意味着“理由”。)
-
@SailingJudo 我确实稍微改写了这个问题,以更好地反映我所寻求的(设计权衡等)。但是你不应该假设我(我们)不明白它是如何工作的。事实上,我们做得很好。我也从根本上不同意这不是“一个好的 SO 问题”。如果您查看我的代表,您会发现我已经写了 600 多个答案和几十个问题,因此我对 SO 的工作原理以及什么是好问题或坏问题有相当了解。
-
话虽如此,我正试图找出如何用不同的措辞来获得我所寻求的信息。这不是我想要的意见,而是特定设计背后的推理(可能)双方都有权衡。其他网络应用程序框架不这样做,所以一定有一些原因,我希望它们被记录在案,或者至少在某处“写”。
-
@E-Riz 一个老问题,但我自己也经历过同样的兔子洞。我怀疑说您的问题“主要基于意见”(强调我的)背后的原因是,除非您从实际设计和/或编写代码,任何答案都必须基于意见。一般来说,“为什么 {x} 以这种方式完成?” 形式的问题似乎在 SO 上并不受欢迎,尤其是最近。
标签: .net asp.net-web-api asp.net-apicontroller