Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法显示Blazor的详细启动错误_Blazor_Blazor Server Side - Fatal编程技术网

无法显示Blazor的详细启动错误

无法显示Blazor的详细启动错误,blazor,blazor-server-side,Blazor,Blazor Server Side,在我的Blazor服务器应用程序中,其中一个注入的服务将执行一些系统检查,如果检查失败,将引发异常。计划是使用此异常来提醒程序员,应用程序正确运行需要特定的条件。然而,Blazor只是显示了 错误:电路初始化失败 在浏览器控制台中,找不到我的异常消息。另外,VisualStudio不会在调试模式下使用默认的中断设置中断我的异常,这可能是因为Blazor捕获了我的异常。因此,到目前为止,我发现唯一能够真正显示我的异常的方法是将中断设置更改为“在所有运行时异常上中断”,但我认为这不够好,因为该项目的

在我的Blazor服务器应用程序中,其中一个注入的服务将执行一些系统检查,如果检查失败,将引发异常。计划是使用此异常来提醒程序员,应用程序正确运行需要特定的条件。然而,Blazor只是显示了

错误:电路初始化失败

在浏览器控制台中,找不到我的异常消息。另外,VisualStudio不会在调试模式下使用默认的中断设置中断我的异常,这可能是因为Blazor捕获了我的异常。因此,到目前为止,我发现唯一能够真正显示我的异常的方法是将中断设置更改为“在所有运行时异常上中断”,但我认为这不够好,因为该项目的未来程序员可能不知道这一点

那么,有没有办法配置Blazor以显示启动异常详细信息或停止捕获我的异常?我试过了

services.AddServerSideBlazor(选项=>{
options.DetailedErrors=true;
});

但这没用。我认为这与我的情况无关。

一种方法是在
Startup.cs
文件中添加一些自定义代码,就在
Configure
方法的末尾。到启动顺序达到这个程度时,所有服务都应该注册,包括测试服务。要在
Configure
方法中获得访问权限,首先需要将服务类型和变量名添加到方法签名中,然后在方法末尾调用服务上的方法。见下文:

public void配置(IApplicationBuilder应用程序,…其他东西,ITestingService testService)
{
//你所有的其他初创公司都配置了
testService.RunTestMethods();
}

ITestingService
表示您要执行检查的服务。DI框架将在
Configure
方法中找到您需要的服务,并为您提供一个实例,然后您可以执行您需要的任何方法,抛出或传播异常,并在需要时记录它们,等等。这里的关键是,如果您在
Configure
方法结束之前抛出异常,应用程序将不会启动,因此确保登录,即使是控制台日志,也要在CLI中责骂开发人员需要更正某些内容

这是一种可能的方式;然而,在我的例子中,我实际上正在编写一个库,供其他程序员应用。如果他们知道应该添加这段代码,那么他们最好首先满足这些条件。假设使用我的库的程序员只需要注册服务,那么有可能实现我想要的吗?