为什么Ninject在部署到Azure时会抛出“未返回控制器”异常?

时间:2012-01-09 16:44:38

标签: asp.net-mvc azure ninject

我刚刚为Azure部署了一个基于MVC的Web服务。它在专用服务器上运行良好。它使用Ninject。

部署到Azure时,我收到以下错误:

The IControllerFactory 'xxx.NinjectControllerFactory' did not return a controller for the name '<DeploymentName>'.

其中&lt; DeploymentName&gt;是生产部署的名称(或托管服务 - 两者都有相同的名称) - 这看起来有点奇怪。

我正在使用NuGet的最新版Ninject(2.2.0.0)。我的理解是1.x中有一个中等信任问题,但不是2.x。

有人能指出我在这个方向上正确的方向吗?正如我所说,它在非Azure部署中运行良好 - 我在许多MVC 3 Web应用程序中使用了相同的代码而没有任何问题,因此它看起来像某些特定于Azure的问题。

1 个答案:

答案 0 :(得分:2)

我知道有些项目在Azure上成功运行,使用Ninject.MVC3。您应该尝试使用此扩展,而不是实现您自己的NinjectControllerFactory。否则问题很可能出在你的ControllerFactory而不是Ninject。