C# FormsAuthenticationTicket.Version返回无效的版本号

C# FormsAuthenticationTicket.Version返回无效的版本号,c#,.net,asp.net,forms-authentication,C#,.net,Asp.net,Forms Authentication,FormsAuthenticationTicket版本号中的大小/编号是否有任何限制 我尝试使用forms身份验证创建一个版本号较大的ASP.NET cookie(例如:1234567需要此号码进行标识)。但是当我解密cookie时,我得到135作为版本号 最初,为了添加新信息,删除了旧的表单身份验证cookie Response.Cookies.Remove(FormsAuthentication.FormsCookieName); 以下是我用来创建FormsAuthenticationCo

FormsAuthenticationTicket版本号中的大小/编号是否有任何限制

我尝试使用forms身份验证创建一个版本号较大的ASP.NET cookie(例如:1234567需要此号码进行标识)。但是当我解密cookie时,我得到135作为版本号

最初,为了添加新信息,删除了旧的表单身份验证cookie

Response.Cookies.Remove(FormsAuthentication.FormsCookieName);
以下是我用来创建FormsAuthenticationCookie的代码

FormsAuthenticationTicket newAuthTicket = new FormsAuthenticationTicket(1234567, un, DateTime.Now, DateTime.Now.AddHours(5F), false, user_data);
HttpCookie newauthCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(newAuthTicket));

Response.Cookies.Add(newauthCookie);
在检索cookie之后,我得到的版本号是135。此编号随版本号的不同而不同

string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName];

if (authCookie == null)
{
    return;
}

FormsAuthenticationTicket authTkt = null;
authTkt = FormsAuthentication.Decrypt(authCookie.Value);

if (authTkt == null)
{
    return;
}
int versionID = authTkt.Version;
有人能告诉我使用这么大的版本号是不是一个坏主意,或者我在这方面遗漏了什么吗

谢谢你的帮助,
Vijay

确保票据名称未传递为空。

为什么要在verion中存储标识信息?你不能对
UserData
做同样的操作吗?你还发布了:@Daniel:我还有其他用户数据存储在cookie的UserData部分。但是我仍然不明白为什么当VersionID属性应该能够接受Int值时,该值会被更改。是的,我确实在asp.net论坛上发布了它,希望得到不同的建议。:)为什么你不能把它放在用户数据中呢?为了让事情复杂化,我的最后一个选择是将身份信息与其他额外的用户数据一起存储在用户数据中。但解密时版本号的值发生变化的原因是什么?这是一个已知的错误吗?票证名称肯定有一个值。