301使用ASP.net Web API和Https永久移动

时间:2012-12-03 16:19:16

标签: c# asp.net ajax asp.net-web-api

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

在API Control上我有:

[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工作。 有什么建议? 谢谢

2 个答案:

答案 0 :(得分:0)

确定问题,就是在global.asax中我为非管理员目录重定向到非https。我从重定向中排除了“api”目录,现在它可以正常工作

答案 1 :(得分:0)

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