似乎服务堆栈吞噬了自定义插件抛出的异常。我可以确定插件失败的唯一方法是使用异常断路器。
有没有办法在插件中抛出异常来杀死应用程序?
答案 0 :(得分:3)
插件引发的异常存储在AppHost.StartUpErrors
中,可以通过?debug=requestinfo in DebugMode查看。
您可以通过注册AfterInitCallback并检查任何启动错误来冒泡插件异常,例如:
AfterInitCallbacks.Add(host => {
var appHost = (ServiceStackHost)host;
if (appHost.StartUpErrors.Count > 0)
throw new Exception(appHost.StartUpErrors[0].Message);
});