【发布时间】:2015-09-26 19:00:05
【问题描述】:
我有一个 MVC 网站,可以在本地运行,但不能在远程服务器上运行。 错误的部分是在控制器的构造函数上使用 ninject 的 MVC Webapi。
当 webapi 在本地计算机上工作时,post 请求到达 webapi,一切正常。
但是,同一个发布请求没有到达在远程计算机上工作的同一个 API 中的任何方法,我需要知道为什么。
我的猜测是其中一个依赖项在被 ninject 注入时失败了。
暂时将异常信息保存在远程服务器上的文本文件中。稍后我将实施彻底的解决方案。
【问题讨论】:
-
Ninject 拦截无效,有多个内核。
-
我似乎已经通过使用 ninject extensions 安装了某种拦截。并附加了对依赖寄存器的扩展。现在依赖创建似乎通过扩展,有一个尝试缓存包装“invocation.Proceed();” ,我能得到的最好的就是。 ... 没有默认构造函数","ExceptionType":"System.ArgumentException","StackTrace":" 在 System.Linq.Expressions.Expression.New(Type type)\r\n 在 System.Web.Http .Dispatcher.DefaultHttpControllerActivator.GetInstanceOrActivator(HttpRequestMessage request, Type controllerType, Func`1& activator)\
-
我实现的拦截器版本并没有发现该异常。我还应该去哪里看。显然我需要对“DefaultHttpControllerActivator.GetInstanceOrActivator”进行某种控制
-
我似乎获得了更多信息,将构造函数参数移动到函数中并使用 try cache 运行它们。这以前不起作用,但这里和那里的一些修复启用了它。我最终得到了一些异常,比如 null reference 。更多信息会派上用场。
-
您是否在 Global.asax 中实现了 Application_Error?应该处理来自您的应用程序的任何未处理的异常。
标签: asp.net-mvc exception error-handling constructor ninject