如何在一个 Visual Studio 解决方案中的 2 个内部 API 之间发出 API 请求?
How can I make API requests between 2 internal APIs in one Visual Studio solution?
我创建了一个 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)这会起作用吗?我需要两个项目在 VS 中同时为“运行”吗?
确保你 运行 都在 单独的实例 上 单独的端口 & 它应该没问题(如果你没有'没有明确阻止防火墙中的任何内容)。
您还可以 运行 一个 API 在 IIS 服务器或自托管中,另一个 运行 在 Visual Studio.
中
我创建了一个 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)这会起作用吗?我需要两个项目在 VS 中同时为“运行”吗?
确保你 运行 都在 单独的实例 上 单独的端口 & 它应该没问题(如果你没有'没有明确阻止防火墙中的任何内容)。
您还可以 运行 一个 API 在 IIS 服务器或自托管中,另一个 运行 在 Visual Studio.
中