我注意到MapRoute扩展包含一个重载,它接受一个名为“namespaces”的字符串数组参数。我阅读了谷歌上对此的解释,据说这是为了帮助框架在其他位置查找控制器。
我进行了一些尝试,尝试将控制器放在奇怪的位置。我把一个控制器放在Scripts文件夹中;我甚至在一个单独的程序集中构建了一个具有不同根命名空间的控制器。
如果没有将任何内容放入命名空间参数中,一切都正常工作。即使我只在命名空间参数中放置其中一个命名空间,它仍然可以找到所有我的控制器。我以为它会使用该数组来消除同名控制器之间的歧义,但这也没有发生。MyProj.Controllers中的HomeController和SomeOtherName.Stuff中的HomeController仍然会冲突。
所以我的问题是,这个参数是否已被弃用?还是它仍然以某种我尚未发现的方式被使用?
我进行了一些尝试,尝试将控制器放在奇怪的位置。我把一个控制器放在Scripts文件夹中;我甚至在一个单独的程序集中构建了一个具有不同根命名空间的控制器。
如果没有将任何内容放入命名空间参数中,一切都正常工作。即使我只在命名空间参数中放置其中一个命名空间,它仍然可以找到所有我的控制器。我以为它会使用该数组来消除同名控制器之间的歧义,但这也没有发生。MyProj.Controllers中的HomeController和SomeOtherName.Stuff中的HomeController仍然会冲突。
所以我的问题是,这个参数是否已被弃用?还是它仍然以某种我尚未发现的方式被使用?