【问题标题】:call webAPI controller VIA URL without going over http (stay in process)通过 URL 调用 webAPI 控制器而不通过 h​​ttp(留在进程中)
【发布时间】:2015-05-30 01:25:41
【问题描述】:

我有一个带有 MVC5 前端和 WebAPI2 后端的 n 层 MVC 应用程序。

我通常使用 RestSharp 在两者之间调用

出于测试/开发目的(主要是为了能够端到端使用 Glimpse 或其他分析工具),我希望能够轻松切换开关以在单层模式下使用应用程序。

我可以手动调用适当的 WebAPI 控制器类和方法,但这会产生很多重复的逻辑。

既然我已经建立了正确设置所有参数的 URL,有没有办法调用控制器(或一些可以在控制器之间选择的工厂)并说“嘿,假装这只是通过电线进来的,然后帮我处理”

【问题讨论】:

  • OWIN 自主机是我用于 Web API 单元测试的主机。
  • 这仍然会通过 http 将事情发送到进程之外,不是吗?
  • 基于 URL 路由在 WebAPI 中的工作原理,我认为这既不太可行也不太可取。到时候就自取其辱了。如果您只想测试方法签名并且您已经设法与 HttpContext 保持分离(或可以模拟它),那么您最好直接从测试代码中调用控制器。否则,通过电线发送。这是保证成功集成的唯一真正方法。

标签: c# asp.net-mvc asp.net-web-api


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
  • 2023-03-10
  • 2019-03-06
  • 1970-01-01
  • 2014-10-08
  • 1970-01-01
相关资源
最近更新 更多