我正在使用带有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工作。 有什么建议? 谢谢
答案 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部分。