Azure是否会覆盖IHttpControllerSelector?

时间:2018-10-03 22:12:47

标签: c# azure

我构建了一个自定义IHttpControllerSelector来解决一些重复的控制器名称问题。

在我的Global.asax.cs中,我对FilterConfiguration.Configure进行了调用,并在其回调中添加了这一行(其中config是回调的HttpConfiguration参数):

config.Services.Replace(typeof(IHttpControllerSelector), new NamespacedHttpControllerSelector(config));

当我在本地运行时,此方法非常理想,但是当我发布到Azure时,我开始从DefaultHttpControllerSelector中收到错误,我认为我已经替换了它。

我已经能够确定已到达回调代码,所以到目前为止,我的两个理论是

  1. 关于我的Azure配置的事情阻止了Replace函数的工作。
  2. 一段时间后,我用自己的DefaultHttpControllerSelector替换了IHttpControllerSelector,然后又将其更改为默认值。

由于大多数代码都是在应用程序生命周期的开始执行的(在我可以连接调试器之前),因此我在弄清楚如何有效地对其进行故障排除方面遇到了麻烦。

我现在要解决的问题是“不要重复控制器名称”,但是为了理解我的工具,很高兴找出问题的根本原因。

是什么引起本地和Azure托管代码之间的这种差异行为?如何确保Azure使用我的自定义Get-WebConfiguration //System.WebServer/Security -pspath iis:/ 而不是还原为默认值?

0 个答案:

没有答案