我刚刚为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的问题。
答案 0 :(得分:2)
我知道有些项目在Azure上成功运行,使用Ninject.MVC3。您应该尝试使用此扩展,而不是实现您自己的NinjectControllerFactory
。否则问题很可能出在你的ControllerFactory而不是Ninject。