Angular应用程序无法与asp.net core的SignalR安排进行协商,原因是CORS错误。
创始人
2024-10-30 14:00:44
0

要解决Angular应用程序无法与ASP.NET Core SignalR协商的CORS错误,可以按照以下步骤进行操作:

  1. 在ASP.NET Core的Startup.cs文件中,添加CORS服务和配置。在ConfigureServices方法中添加以下代码:
services.AddCors(options =>
{
    options.AddPolicy("CorsPolicy",
        builder => builder
            .AllowAnyOrigin()
            .AllowAnyMethod()
            .AllowAnyHeader()
            .AllowCredentials());
});
  1. 在Configure方法中,使用UseCors中间件启用CORS。确保将UseCors方法添加到SignalR路由之前,示例如下:
app.UseCors("CorsPolicy");

app.UseRouting();

app.UseEndpoints(endpoints =>
{
    endpoints.MapHub("/chathub");
});
  1. 在Angular应用程序的环境配置文件(例如environment.ts)中,确保设置SignalR连接的URL。例如:
export const environment = {
  production: false,
  signalrUrl: 'http://localhost:5000/chathub'
};
  1. 在Angular应用程序的服务或组件中,使用HttpClient或HttpClientModule来进行SignalR连接。示例代码如下:
import { Injectable } from '@angular/core';
import { HubConnection, HubConnectionBuilder } from '@microsoft/signalr';
import { environment } from './../environments/environment';

@Injectable({
  providedIn: 'root'
})
export class SignalRService {
  private hubConnection: HubConnection;

  constructor() { 
    this.hubConnection = new HubConnectionBuilder()
      .withUrl(environment.signalrUrl)
      .build();
  }

  public startConnection = () => {
    this.hubConnection
      .start()
      .then(() => console.log('SignalR connection started'))
      .catch(err => console.log('Error while starting SignalR connection: ' + err));
  }

  public addTransferChartDataListener = () => {
    this.hubConnection.on('transferChartData', (data) => {
      console.log(data);
      // Process received data
    });
  }
}

确保将@microsoft/signalr库添加到Angular应用程序中:

npm install @microsoft/signalr

这些步骤将帮助您解决Angular应用程序无法与ASP.NET Core SignalR协商的CORS错误,并使两者能够成功通信。

相关内容

热门资讯

玩家必备科技!新世界辅助软件,... 玩家必备科技!新世界辅助软件,美猴王辅助,详细教程(有挂方法);人气非常高,ai更新快且高清可以动的...
盘点一款!新二号辅助软件多少钱... 盘点一款!新二号辅助软件多少钱,新超凡辅助,高科技教程(有挂辅助);1、这是跨平台的新二号辅助软件多...
实测分享!悠悠辅助,新九哥智能... 实测分享!悠悠辅助,新九哥智能辅助软件,2025新版教程(揭秘有挂);新九哥智能辅助软件是一项新九哥...
揭秘真相!新荣耀辅助,新祥心辅... 揭秘真相!新荣耀辅助,新祥心辅助脚本,AI教程(证实有挂)是一款可以让一直输的玩家,快速成为一个“必...
玩家必看科普!鸿狐大厅脚本,海... 玩家必看科普!鸿狐大厅脚本,海螺众娱辅助,辅助教程(的确有挂);是一款可以让一直输的玩家,快速成为一...
发现一款!牛魔王辅助器,天酷辅... 发现一款!牛魔王辅助器,天酷辅助器,靠谱教程(有挂技巧);1、超多福利:超高返利,海量正版游戏,牛魔...
玩家必备教程!枫叶辅助官网地址... 玩家必备教程!枫叶辅助官网地址,新漫游免费辅助器,教你攻略(有挂教学);1、【枫叶辅助官网地址辅助软...
一分钟揭秘!九天大厅辅助器,新... 一分钟揭秘!九天大厅辅助器,新世界辅助器,爆料教程(有挂实锤);一、九天大厅辅助器AI软件牌型概率发...
一分钟教会你!新漫游免费辅助器... 一分钟教会你!新漫游免费辅助器,新道游辅助软件下载,wpk教程(有挂辅助)是一款可以让一直输的玩家,...
推荐十款!椰子大厅辅助脚本,九... 推荐十款!椰子大厅辅助脚本,九游辅助真的假的,解密教程(有挂攻略)相信很多朋友都在电脑上玩过九游辅助...