我如何在一个Visual Studio解决方案中的2个内部API之间进行API请求?



我创建了一个API .NET CORE项目,它作为我的启动项目运行良好,并分配了5001作为端口,例如其中一个调用是:

https://localhost:5001/api/Values/TESTME

我在启动时添加了一个站点cors策略,如下所示:

services.AddCors(options =>
{
options.AddPolicy("SiteCors", builder =>
{
builder.AllowAnyHeader();
builder.AllowAnyMethod();
builder.AllowAnyOrigin();
});
});

现在我添加了另一个项目(在不同的本地主机端口上运行)并将其设置为启动项目-它试图做一个WebRequest:

string url = "https://localhost:5001/api/Values/TESTME";
try
{
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
response.Close();
}
catch (Exception ex)
{

}

被拒绝,因为No connection could be made because the target machine actively refused it.

我认为添加防火墙规则可能是有序的,但是1)我如何确切地为此添加防火墙规则?2)这样能行吗?我需要这两个项目都"运行"吗?同时对吗?

确保两者在单独的实例上运行单独的端口&应该没问题(如果你没有在防火墙中明确阻止任何东西)。

你也可以运行一个API在IIS服务器或自托管&另一个在Visual Studio中运行。

最新更新