1

我正在使用带有 Web Api 的 asp.net Web 表单。我可以通过http拨打电话没问题,但如果我使用https,那么我会得到“301 永久移动”,我也在使用授权。用户使用 https 进行授权。

在 API 控件上,我有:

[Authorize(Roles = "admin,masteradmin")]

[HttpGet]
public string Delete(Guid id)
{
  return 'deleted'
}

我的JavaScript:

 function DeleteItem(ID) {
    jQuery.support.cors = true;
    $.ajax({
        url: '/api/controlname/' + ID + '/Delete',
        type: 'GET',
        contentType: "application/json;charset=utf-8",
        success: function (data) {
            //alert('deleted');
        },
        error: function (x, y, z) {
            alert(ID + '\n' + x + '\n' + y + '\n' + z);
        }
    });
    }

再次在 http 上正常工作,但在 https 上不行。有什么建议么?谢谢

4

2 回答 2

1

好的,问题是在 global.asax 中,我将非管理目录重定向到非 https。我从重定向中排除了“api”目录,现在一切正常

于 2012-12-03T16:48:40.083 回答
1

如果有人遇到此问题,但对于 Mac 上的 xamarin iOS 应用程序,请打开 Reference.cs 文件。您可以在项目的三个 Web Reference 文件夹中找到它。检查您在添加 Web 引用时输入的 url 是否与 Reference.cs 文件中的 URL 匹配。我指的是来自 Reference.cs 类的构造函数的 url。特别要注意 http vs https 部分。

于 2018-06-12T14:55:10.330 回答