小编Chu*_*itt的帖子

Angular HttpClient:即使出现错误,如何获取原始 HTTP 响应

在使用 的 Angular 服务中HttpClient,我创建了一个从 返回原始 HTTP 响应的方法POST

httpOptions = {
  headers: new HttpHeaders({
    'Content-Type': 'application/json'
    //observe: 'response'
  }),
  observe: 'response' as 'body'
};

forgotLogin(requestData: PUMRequestData): Observable<HttpResponse<string>> {
  return this.http.post<HttpResponse<string>>("http://...", requestData, this.httpOptions);
Run Code Online (Sandbox Code Playgroud)

然后在我的组件中,我只查看原始 http 响应中的状态和正文。

this.api.forgotLogin(pumRequestData).subscribe(response => {
  this.hStatus = response.status;
  this.hBody = response.body;
});
Run Code Online (Sandbox Code Playgroud)

问题是如果响应状态不在200系列中,则HttpClient抛出错误。在我的用例中,我只想获取请求状态和正文,而不管状态是什么,我想根据组件中的状态决定要采取的操作,而不是服务中的错误处理程序。我一直试图找出一些棘手的方法来在服务中创建一个错误处理程序,该处理程序只返回(可观察的)HTTP响应,但一直无法做到——甚至不确定这是否是正确的方法。

那么当状态不是 200 系列时,如何将原始 http 响应返回给我的组件?

httpclient http-error angular

7
推荐指数
2
解决办法
5387
查看次数

可以在实体框架中设置死锁优先级吗?

有没有办法在实体框架中设置 SQL 死锁优先级,而不必显式打开每个连接并在使用它之前发出 SQL 命令来设置该特定连接上的死锁优先级?

在任何地方使用显式连接并发出 SQL 死锁优先级命令是我迄今为止发现的唯一方法,这有点痛苦。

我目前正在不同应用程序中使用 Entity Framework 版本 5 和 6。

目的是在自动化应用程序(可以自行恢复/重试)中将死锁优先级设​​置为低,这样它们就不会在解决任何死锁问题时干扰用户应用程序。

注意:这个问题不是关于跟踪或防止实体框架中的死锁 - 这是另一个在这里其他地方处理得很好的主题。

deadlock entity-framework

5
推荐指数
1
解决办法
1202
查看次数

是否可以在 Blazor 中混合使用客户端和服务器端方法?

例如,假设我正在创建一个简单的更改密码页面:

  • 用户名
  • 当前密码
  • 新密码
  • 确认新密码

总的来说,我希望使用服务器端 Blazor 来消除编写单独 API 后端的需要。但是,我希望在客户端运行一些简单的验证代码 - 新密码和确认密码不匹配、密码复杂性等。某些 Blazor 方法可以在客户端、服务器端 Blazor 应用程序中运行吗?或者更好的是,相同的验证方法可以同时运行客户端和服务器端吗?

当然,我总是可以使用 JavaScript 进行客户端验证,但最好用 C# 编写所有代码。

blazor blazor-server-side

5
推荐指数
1
解决办法
1344
查看次数