使用Asp.net 2.0,Server1上生成的视图状态是否可以由同一服务器场中的server2使用?
答案 0 :(得分:2)
是的,你可以。有几个选项可确保可以在服务器场中的每个服务器上解码视图状态。通常,您在每台服务器上手动设置machineKey,因此它们都是相同的。 But there are other options as well.
答案 1 :(得分:1)
只要篡改保护/ MAC关闭,我相信它可以。
答案 2 :(得分:1)
是的,web.config中的'machineKey'设置在每台服务器上都必须相同。
答案 3 :(得分:1)
在所有节点上使用identic machineKey。把它放在machine.config或web.config
中答案 4 :(得分:0)
阅读这篇文章:How To: Configure MachineKey in ASP.NET 2.0
基本上,您使用此代码:
using System;
using System.Text;
using System.Security;
using System.Security.Cryptography;
class App {
static void Main(string[] argv) {
int len = 128;
if (argv.Length > 0)
len = int.Parse(argv[0]);
byte[] buff = new byte[len/2];
RNGCryptoServiceProvider rng = new
RNGCryptoServiceProvider();
rng.GetBytes(buff);
StringBuilder sb = new StringBuilder(len);
for (int i=0; i<buff.Length; i++)
sb.Append(string.Format("{0:X2}", buff[i]));
Console.WriteLine(sb);
}
}
生成在您的服务器场中共享的计算机密钥。