我正在使用IISExpress中内置的Visual Studio 2012在本地计算机上处理ASP.NET MVC应用程序.在取得重大进展后,我决定通过本地网络提供它,我从visual studio创建了一个虚拟目录.我可以登录,但是当我尝试注册新用户时.我收到以下错误.
防伪令牌无法解密.如果此应用程序由Web场或群集托管,请确保所有计算机都运行相同版本的ASP.NET网页,并且配置指定显式加密和验证密钥.AutoGenerate不能在群集中使用.
我从(ASPNET资源)生成了一个新的机器密钥并将其放在我的配置文件中,但仍然没有工作.有人建议解决方案吗?
我正在尝试使用 ajax 调用上传文件并验证防伪令牌。我环顾四周并构建了一种方法来验证控制器上的防伪令牌。但是,每当我@Html.AntiForgeryToken查看时,我的文件都不会填充。即使它验证了防伪令牌。它似乎没有随请求一起发送,但我不确定为什么。
ajaxSendOverride:
$(document).ready(function () {
var securityToken = $('[name=__RequestVerificationToken]').val();
$(document).ajaxSend(function (event, request, opt) {
if (opt.hasContent && securityToken) { // handle all verbs with content
var tokenParam = "__RequestVerificationToken=" + encodeURIComponent(securityToken);
opt.data = opt.data ? [opt.data, tokenParam].join("&") : tokenParam;
// ensure Content-Type header is present!
if (opt.contentType !== false || typeof event.contentType !== 'undefined') {
request.setRequestHeader("Content-Type", opt.contentType);
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
阿贾克斯:
$(document).on("submit", "[data-upload-contract-form]", function (e) {
e.preventDefault();
var formData = new FormData($('[data-upload-contract-form]')[0]);
if ($('[data-upload-file]').val() != …Run Code Online (Sandbox Code Playgroud)