Это индексированное свойство, да или нет? - PullRequest
0 голосов
/ 23 июня 2011

Я пытаюсь получить текущий ключ machineKey, который используется для шифрования / дешифрования моего ViewState и т. Д., В попытке отладить другую проблему.(Мое приложение находится в ферме серверов, и в machine.config и web.config каждого сервера и приложения установлены машинные ключи, поэтому я пытаюсь устранить проблему, из-за которой некоторые ресурсы не расшифровываются должным образом. Я экспериментирую сэто, чтобы увидеть, какой из них используется для шифрования.) Вот мой фрагмент кода:

Line 1:  Type machineKeySection = typeof(MachineKeySection);
Line 2:  PropertyInfo machineKey = machineKeySection.GetProperty("ValidationKey");
Line 3:  Object validationKey = machineKey.GetValue(machineKeySection, null);
Line 4:  Response.Write(String.Format("Value: {1}", validationKey.ToString()));

Как есть, строка 3 выдает «Ссылка на объект не установлена ​​для экземпляра объекта».что означает, что я, вероятно, неправильно устанавливаю этот второй нулевой параметр (свойство должно быть проиндексировано, верно?).

Но ParameterInfo свойства ValidationKey для machineKey возвращает нулевую длину (поэтому свойство не являетсяиндексируется, верно?).

ParameterInfo[] paramInfo = machineKey.GetIndexParameters();
Response.Write(paramInfo.Length);

http://msdn.microsoft.com/en-us/library/b05d59ty(v=VS.90).aspx

Очевидно, что здесь я что-то упускаю и хотел бы, чтобы на это посмотрела вторая пара глаз.Есть предложения?

1 Ответ

0 голосов
/ 23 июня 2011

Вы передаете typeof (MachineKeySection), когда вы должны передать экземпляр MachineKeySection.

Type machineKeySection = typeof(MachineKeySection);
Object validationKey = machineKey.GetValue(machineKeySection, null);

Должно быть что-то вроде (взято из здесь ):

MachineKeySection machineKeySection = (MachineKeySection)config.GetSection("system.web/machineKey");
Object validationKey = machineKey.GetValue(machineKeySection, null);

Так что, чтобы ответить на ваш вопрос, нет, это не проиндексированное свойство. С документацией можно ознакомиться здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...