我正在尝试找到用于测试生产中IIS上托管的.NET 4.6.2 WebAPI应用程序的选项,但在测试运行过程中不会像这样托管它。
我知道可以使用OWIN实现来完成,其中许多实现似乎需要代码更改和对特定库的引用。由于组织上的限制,我需要寻找不需要对应用程序代码进行任何重大修改或不依赖任何第三方库的替代方法。
我也被认为可以使用所谓的“容器”(例如Docker)来实现此目的,但尚未找到文档说明是否可以/如何将其用于.NET之前的版本。核心应用程序。
所以我的问题很简单:可以使用Docker(或类似产品)托管旧版WebAPI应用程序,而无需对该应用程序进行代码更改,从而可以针对端点运行测试自动化?
答案 0 :(得分:1)
不幸的是,答案是没有。如果可行,那只能是因为Docker映像中包含IIS。
这里没有捷径。要么使用OWIN,要么完全切换到DotNet Core,或者在任何地方使用IIS。
鉴于您所暗示的限制,我想让IIS无处不在是您最可能的解决方案。
但是请尝试说服您的经理,Core是未来,花在升级上的时间绝对值得。
(在Docker中的Core上运行是有效的解决方案。)