使用AspNet.FriendlyUrls和AspNet.Identity从jquery.ajx调用webmethod期间身份validation失败
如果我从安装了Nuget软件包Microsoft.AspNet.FriendlyUrls v 1.0.2和Microsoft.AspNet.Identity v.1.0.0。的jQuery.Ajax调用webmethod,那么我得到数据对象,但是没有data.d但是有属性Message ‘身份validation失败’。
我的Webmethod.aspx是:
WebMethod
我在WebMethod.aspx.cs中的Webmethod是:
[System.Web.Services.WebMethod] public static string HelloWorld(string username) { return string.Format("Hello, {0}", username); }
在Global.asax.cs中,路由已激活
void Application_Start(object sender, EventArgs e) { RouteConfig.RegisterRoutes(RouteTable.Routes); }
在App_Start中已经注册了路由
public static class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { var settings = new FriendlyUrlSettings(); settings.AutoRedirectMode = RedirectMode.Permanent; routes.EnableFriendlyUrls(settings); } }
在App_Start文件夹中,在RouteConfig中….
注释掉以下行或更改其RedirectMode:
//settings.AutoRedirectMode = RedirectMode.Permanent;
它不是完全相同的用例,但值得一提的是,如果您使用的是Web服务并且“身份validation失败”消息。 请检查您的Web服务是否具有“[System.Web.Script.Services.ScriptService]”属性。 这允许从脚本调用Web服务。
例:
[System.Web.Script.Services.ScriptService] public class WS_Default : System.Web.Services.WebService { ... }