加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 从SignalR Hub调用方法的问题.调用失败.承诺遭到拒绝

发布时间:2020-12-16 07:42:34 所属栏目:asp.Net 来源:网络整理
导读:我一直坚持这个问题超过一个星期了,找不到解决方法,因为我对.NET和角度环境都很陌生.此外,我无法在互联网上找到适合我的问题的解决方案. 我有一个服务,通过REST api每秒向我发送数据.我想在客户端中检索此数据,而无需连续重新加载整个页面.因此我选择了Signa
我一直坚持这个问题超过一个星期了,找不到解决方法,因为我对.NET和角度环境都很陌生.此外,我无法在互联网上找到适合我的问题的解决方案.

我有一个服务,通过REST api每秒向我发送数据.我想在客户端中检索此数据,而无需连续重新加载整个页面.因此我选择了SignalR.

到目前为止一切正常并且与集线器的连接已建立.但是当我尝试从集线器调用该方法时,我收到一条错误消息:

Invoking 'GetPerformanceSnapshotData' failed.  Rejecting promise... 
Promise rejected.

ErrorObservable {_isScalar: false,error: Error: An error occurred while sending the request.
    at Object.error (http://localhost:4200/scrip......,scheduler: undefined}
error: Error. An error occurred while sending the request: An error occurred while sending the request. at Object.error (http://localhost:4200/...)...

这是我在客户端上的调用方法:

public GetPerformanceSnapshotData() {
    this.connect().then((connection) => {
      this.invoke("GetPerformanceSnapshotData").then((data: string) => {
        console.log(data);
      }).catch(error => {
        this.dialogService.showError(error);
        return Observable.throw(error);
      });
    }).catch(error => {
      this.dialogService.showError(error);
      return Observable.throw(error);
    });
  }
}

服务器端方法如下所示:

namespace ...
{
    using System.Threading.Tasks;
    using System.Net.Http;
    using Microsoft.AspNet.SignalR;

    public class PerformanceSnapshotHub : Hub
    {
        public async Task<string> GetPerformanceSnapshotData()
        {
            using (var client = new HttpClient(new HttpClientHandler { UseDefaultCredentials = true }))
            {
                var response = await client.GetAsync("http://localhost:8080/api/PerformanceSnapshot");
                response.EnsureSuccessStatusCode();
                return await response.Content.ReadAsStringAsync();
            }
        }
    }
}

我不明白什么是错的.有任何想法吗?

解决方法

我完成了.代码没有任何问题.问题是防火墙因任何原因阻止了对服务的请求.打开后,一切正常.

遗憾的是,“网络”标签不是很有启发性,我偶然遇到了这个问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读