我无法从尖角前端到C#后端建立连接。原因是什么?

时间:2019-05-24 09:47:58

标签: c# angular powershell

我正在编写一个有角度的应用程序。我现在遇到的主要问题是,当我必须将前端应用程序与后端服务器连接时,它无法连接,并且出现错误0。我还上传了另一个返回类似错误的应用程序。鉴于错误0表示问题实际上可能是我想知道导致问题的原因的任何原因。

据我所知,由于我的后端无法正常工作,该问题无法解决。那是因为我的应用程序使用Swagger运行,并且Swagger在返回已用JSON解析的代码方面没有任何明显的问题。

因此它一定是我的前端。但是,这也不大可能,因为在必须连接到后端之前,它运行良好。 (在我的代码中,直到类authentication.service.ts第64行用于检查用户名,直到authentication.service.ts第40行用于注册用户)。

我已经要求Norton防病毒软件停止执行任何操作,以查看我的应用程序是否由于我的防病毒软件而无法运行,但是事实证明,我的防病毒软件并未执行任何操作来阻止前端连接到后端。

如果某些代码运行错误,则必须使用以下方法进行编码:

checkUserNameAvailability = (username: string): Observable<boolean> => {
    //    console.log(username);
    return this.http.get<boolean>(
      `${environment.apiUrl}/User/checkusername`,
      {
        params: { username }
      }
    ).pipe(catchError(err => {
      console.error(err);
      return of(null);
    }))
  }

这是从第62行到第73行的authentication.service.ts中的代码。

我将链接到下面的github存储库:

角度前端:https://github.com/GuylianBollon/AngularFrontendWebIV C#后端:https://github.com/GuylianBollon/CbackendWebIV

这是我发现的另一件事: 将我的角形前端连接到C#后端后,并在检查命令提示符下的连接后直接将其生成,如下所示。 (注意:44392是我的C#后端的SSL端口)。

C:\Users\Hp>netstat -a -n | findstr 44392
  TCP    0.0.0.0:44392          0.0.0.0:0              LISTENING
  TCP    [::]:44392             [::]:0                 LISTENING
  TCP    [::1]:44392            [::1]:53942            ESTABLISHED
  TCP    [::1]:53942            [::1]:44392            ESTABLISHED

等待大约1分钟后,将生成以下内容:

C:\Users\Hp>netstat -a -n | findstr 44392
  TCP    0.0.0.0:44392          0.0.0.0:0              LISTENING
  TCP    [::]:44392             [::]:0                 LISTENING
  TCP    [::1]:53942            [::1]:44392            TIME_WAIT

不确定这是否正常,但我认为这很有趣。

这也是我proxy.conf.json文件的json:

{
  "/api": {
    "target": {
      "host": "localhost",
      "protocol": "https",
      "port": 44392
    },
    "changeOrigin": true,
    "secure": false,
    "logLevel": "warn"
  }
}

将角形前端连接到C#后端后打开浏览器时,请在用户名字段中写一些内容,然后等待2分钟,将生成以下内容:

authentication.service.ts:70 1. HttpErrorResponse {标头:HttpHeaders,状态:0,statusText:“未知错误”,URL:“ / api / User / checkusername”,确定:false,…} 1.错误:ProgressEvent {isTrusted:true,lengthComputable:false,已加载:0,总计:0,类型:“ error”,…} 2.标头:HttpHeaders {normalizedNames:Map(0),lazyUpdate:空,标头:Map(0)} 3.消息:“ / api / User / checkusername的Http错误响应:0未知错误” 4.名称:“ HttpErrorResponse” 5.确定:错误 6.状态:0 7. statusText:“未知错误” 8.网址:“ / api / User / checkusername” 9. proto :HttpResponseBase

api / User / checkusername?username = abc:1 无法加载资源:net :: ERR_EMPTY_RESPONSE

1 个答案:

答案 0 :(得分:0)

您的代理配置文件中有一个错字,一个固定版本:

{
  "/api": {
    "target": {
      "host": "localhost",
      "protocol": "https:",
      "port": 44392
    },
    "changeOrigin": true,
    "secure": false,
    "logLevel": "warn"
  }
}

请注意https:后的冒号(:),您的版本中没有此冒号。