如何在 ASP.NET Core 7 MVC Web 应用程序中访问另一个网站?我收到 CORS 错误

问题描述 投票:0回答:1

我正在使用 ASP.NET Core 7 MVC。结果正确后我想访问另一个网站。

在控制器中声明如下:

public ActionResult CalculateSomething(string encIds, string url)
{
        try
        {    
           resultIs = true;

           if (resultIs)
           {
              string newUrl = "https://www.ad.nl";

              return Redirect(newUrl);
           }
        }
        catch (Exception ex)
        {
            string s = ex.Message;
            return Json(s);
        }
}

appsettings
我有这个配置:

 "AllowedCorsOrigins": "https://localhost:7065/",

program.cs

    var allowedCorsOrigins = configuration.GetValue<string>("AllowedCorsOrigins");
    
    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowSpecificOrigin",
            builder =>
            {
                builder.WithOrigins(allowedCorsOrigins)
                       .AllowAnyHeader()
                       .AllowAnyMethod();
            });
    });

app.UseCors("AllowSpecificOrigin");

我收到这样的错误消息:

我做错了什么?

c# asp.net-core-mvc .net-7.0
1个回答
0
投票

我正在使用.net 7 和 mvc。我想在访问另一个网站后 结果是真的。

根据您的描述和共享代码片段,CORS 似乎没有任何问题。因为如果您使用操作辅助方法Redirect,它应该将您重定向到任何网页,而 CORS 在这里无关。

我在您的代码中发现,您缺少 return 语句,您的控制器应该向您大喊您尚未返回所有路径。

但是,我尝试了以下方式,它按预期工作,因此成功重定向到 URL。

这是我尝试过的方法:

public ActionResult CalculateSomething(string encIds, string url)
{
    try
    {
        var resultIs = true;
        if (resultIs == true)
        {

           return Redirect(url);
          // return Redirect("https://www.ad.nl");
        }
        else
        {
            return View(); // Do whatever you want
        }
    }
    catch (Exception ex)
    {
        string s = ex.Message;
        return Json(s);
    }
}

输出:

注意: 如果您需要了解更多关于 RedirectionCORS 的详细信息,请参阅官方文档。

© www.soinside.com 2019 - 2024. All rights reserved.