c# - blazor 后端模型异常只显示 null?
问题描述
我主要是一名桌面开发人员,我对 Blazor 的兴趣达到了顶峰。在玩了主要示例之后,我想我基于它创建了一个 Blazor 客户端应用程序。但是我现在突然遇到一些奇怪的异常和表达式调试评估行为?
我创建了一个测试 Blazor Web Assembly 应用程序,它使用 VS2019 通过 Dapper 使用简单的 Sql 调用访问数据库。该对象是作为呈现页面的控件的一部分创建的。
页面通过每 1 秒触发一次计时器自动刷新。它工作正常。直到我调用 SqlConnection create 方法,该方法失败并出现错误,因为连接字符串格式不正确。
public bool DoTestSql(string sqlConn, string sqlCom)
{
SqlConnection conn = null;
bool bok = false;
try
{
//this works
throw new Exception("Test Exception");
//this produces an Exception object but its very strange and is null???
conn = new SqlConnection(sqlConn);
//as a side node, going into immediate mode and typing ?sqlConn.subString(1) shows cannot be evaluated?
//?ex.ToString() shows "unable to evaluate"
bok = true;
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
return bok;
}
当 catch 被捕获时(在同一个函数中),它在 Exception 对象中显示的很少。将异常打印到控制台显示“无法评估”。事实上,尝试在该函数中输出任何变量也是如此。
一旦连接字符串正确,我会看到“无法评估儿童”的异常?
异常和评估发生了什么?有没有办法解决这个问题?
编辑:我在 MainLayout.razor @code 部分中插入了一个 Sleep(10000),以允许调试器根据 MS 建议生成。
解决方案
我在想客户端应用程序,意思是客户端访问。愚蠢的我敢于梦想!
您不能从应用程序本身访问 sql db,因为它仍在 Web 应用程序的上下文中运行。因此 CORRS /server 端 API 适用于 SQL。
显然是的,但对于习惯于完全桌面访问的 WPF 人来说,这并不明显!
历史:我正在为我想到的特定任务编写一个简单的 Net/Sql 监控应用程序。但它需要在各种非集中式 PC 上本地运行。在这一点上,我认为(不参与 - 它可以做这个大脑)是一个很好的小 Blazor 客户端应用程序测试,看看它可以做什么。不,它不会。哈哈!哦,那么回到好的 ol WPF 吧!
推荐阅读
- ffmpeg - 简单的 hls 服务器 - 从本地 NAS 流式传输
- algorithm - 到达目的地的最短天数 | 图形
- flutter - 面对 sliver appbar 的 RenderFlex 溢出问题
- java - Java 与 python AES PBKDF2。为什么输出不同?
- javascript - Uploading an Array to Firestore
- python - Python subprocess.Popen 与 wait() 的异步执行
- python - 有没有办法通过列表理解来做到这一点?
- java - 使用 Selenium 和 Java 在表中查找变量
- java - 使用arraydeque实现MonitonicQueue
- php - 编辑条带上的卡详细信息仅到期月份