gpt4 book ai didi

c# - Azure Web 应用程序服务使用混合连接管理器使用 HttpClient 调用本地 WEB API

转载 作者:行者123 更新时间:2023-11-30 20:27:58 24 4
gpt4 key购买 nike

我们在本地网络计算机上部署了本地 Web 服务(asp.net core mvc)。我们尝试使用部署在 Azure 上的应用服务来调用这些 WEB API。但是,当我们尝试使用“HTTP”协议(protocol)连接它时,它会给出超时错误或任务已取消错误。如果是“HTTPS”,则会给出“发生安全错误”。

我们在 Azure 应用服务上创建了混合连接,以连接到本地 Web API 服务,该服务在 80 和 443 端口上都显示在线。我们也在本地网络计算机上设置了混合连接管理器。

下面是调用部署在 Azure 应用服务上的代码的代码片段(例如 https://xyz.azurewebsite.com )

 try
{
var httpClient = new HttpClient();
httpClient.Timeout = TimeSpan.FromMinutes(60);
httpClient.BaseAddress = new Uri("https://onpremise");
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
//Simple Get Request to test on-premise service
var response = await httpClient.GetStringAsync("api/OnPremiseData/GetData");
ViewBag.ResponseText = response;
}

如果我从本地主机调试应用程序,上面的代码可以正常工作。所以我认为代码没有问题。

下面是 Web API 代码片段:

[Route("api/[controller]/[action]")]
public class OnPremiseDataController : Controller
{
[HttpGet]
public string GetData()
{
return "Success";
}
}

下面是startup.cs文件

public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors(options => options.WithOrigins("https://xyz.azurewebsite.com", "https://localhost:44310").AllowAnyMethod().AllowAnyHeader());
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
}

最佳答案

我们有类似的场景(WebApp 和 SQL 本地),技巧是在本地计算机上的混合连接管理器中使用端点的完全限定域名。

关于c# - Azure Web 应用程序服务使用混合连接管理器使用 HttpClient 调用本地 WEB API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48020261/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com