Angular 4两次调用WCF REST

时间:2019-03-18 15:24:25

标签: angular angular-http wcf-rest angular-observable

我正在编写一个演示应用程序,它将使用HTTP服务发布从Angular 4应用程序中调用WCF Rest服务。 我可以将数据成功发布到我的服务方法(操作合同)中。 但是它两次调用了我的服务,第二次调用了服务方法。 第一次它刚打Global.asax文件。 这是angular的http post的工作方式吗?

以下是服务电话:

enter image description here

以下是运营合同或休息服务方法:

enter image description here

以下是服务的实现:

enter image description here

以下是Global.asax代码:

此Global.asax代码被击中两次,我不明白为什么吗?

enter image description here

以下是Chrome开发者工具栏的“网络”标签的详细信息,它两次调用WCF rest。

enter image description here

启用是Chrome网络请求和响应: 首次通话是“期权”通话: enter image description here

第二个呼叫是后期呼叫:

enter image description here

1 个答案:

答案 0 :(得分:2)

正如Ethan所说:您正在使用CORS。因此,网络浏览器首先使用OPTIONS请求调用端点。

但是这不会调用Rest-API两次(您可以使用后端日志记录或后端中的断点进行检查)。 我认为您的前端正在开发模式下运行(您可以在浏览器日志中检查它->如果运行在开发模式下,则angular将创建一个日志记录条目。)

在开发人员模式下,对每个用户交互和(imho)开发人员模式下的每个http调用进行双重检查,以防止出现计时和“检查后更改值”错误。