我是Angular的新手,请回答这个可能很愚蠢的问题。
我正在尝试在localhost:5000上托管一个asp.net Kestrel服务器,它将为进度报告提供SignalR服务。我正在使用Angular 5创建的一个网站应该连接到这个网站(网站将通过本地主机:4200调用,或者直接打开file://.....etc../index.html).
我已经通过NPM安装了包@aspnet/signalr-client。我没有对我的项目做其他手动修改(没有polyfills或其他任何可能存在的东西)。
然后,我编辑了我的主组件的.TS以包含
import { HubConnection } from '@aspnet/signalr-client';到目前为止,它仍然工作得很好。但是后来我添加了一个私有变量
private _hubConnection: HubConnection;在ngOnInit()函数中,我调用
this._hubConnection = new HubConnection('/progress');现在,访问网站将在Internet Explorer11中抛出一个错误,即错误:语法错误。如果我没看错调试器,它似乎在signalr-client/dist/src/HttpContext.js中的一些代码中,比如
eval("\n// Copyright (c) .NET Foundation. All rights reserved.\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) {
... etc ...我完全不知道是什么导致了这一切。我是否需要对我的项目进行任何其他手动修改,包括任何其他文件或类似文件?会不会是它无法连接到我的SignalR进程服务器,因此抛出了这个奇怪的错误或其他什么呢?
谢谢
发布于 2017-11-23 23:45:02
您将应用程序和signalR托管在两个不同的应用程序上,因此您必须指定signalR应用程序的绝对URL。
this._hubConnection = new HubConnection('http://localhost:5000/signalr/progress');您的web应用程序的端口号与您的signalR应用程序不同,不要忘记允许CORS,因为使用Chrome和Firefox会出现跨域错误。
发布于 2017-11-24 00:30:05
啊,看起来这是标准包与IE11的不兼容,看
https://github.com/aspnet/SignalR/issues/777
我将尝试通过
import { HubConnection } from '@aspnet/signalr-client/dist/browser/signalr-clientES5-1.0.0-alpha2-final.js';https://stackoverflow.com/questions/47458995
复制相似问题