身份验证失败 - System.InvalidOperationException

时间:2017-03-26 17:55:51

标签: c# asp.net asp.net-mvc exception

我尝试使用main.js文件中的以下代码制作简单的Ajax请求:

$.ajax({
    type: "POST",
    url: "SaveStyles.aspx/GetDate",
    data: { someParameter: "some value" },
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {
        console.log(msg);
    }
});

SaveStyles.aspx.cs的C#中我有方法:

[WebMethod]
public static string GetDate(string someParameter)
{
    return "Sup!";
}

但是在JS控制台中,我发现错误表明身份验证失败了System.InvalidOperationException。我不知道它为什么会发生。 Mabye我应该添加类似anti-csrf令牌的内容吗?

1 个答案:

答案 0 :(得分:1)

通过在App_Start / RouteConfig.cs中将AutoDirectMode设置为Off来解决

settings.AutoRedirectMode = RedirectMode.Off;

并将ScriptManager添加到将EnablePageMethods设置为“true”的aspx页面:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
    </asp:ScriptManager>