【发布时间】:2021-09-02 01:57:29
【问题描述】:
我正在从 angular 调用如下所示的 web api 方法,但是 web api 方法执行了两次。知道为什么会在这里发生。我已经在原点放置了一个控制台日志,角度代码并确认它是从角度调用一次。但是奇怪的 web api 方法被执行了两次,就像在线程上运行一样。
角度代码
public Createsamples(): Observable<any> {
var url = this.baseApiUrl + 'Test/Createsamples';
return this.httpService.post(url, JSON.stringify(obj), { headers: reqHeader, withCredentials: true });
}
网页接口代码
[System.Web.Http.RoutePrefix("api/Test")]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class TestApiController
{
[Route("Createsamples")]
[System.Web.Http.HttpPost]
public IHttpActionResult Createsamples()
{
TestBO Bo = new TestBO ();
var result = Bo.Createsamples(obj);
return Ok(result);
}
}
【问题讨论】:
-
显示调用
Getfiles的部分。每次订阅 Getfiles() 都会触发一个新的 Http-Request -
@enno.void 但 console.log('称为 Getfiles');我可以在浏览器中看到一次
-
@DavidG 没有变化
-
当然,你可以这样做: const a = Getfiles(); a.订阅(); a.订阅();这会显示您的 console.log 一次,但会触发两次 http 调用
-
@enno.void 我用调用方代码编辑
标签: .net angular asp.net-web-api visual-studio-2017