2011-06-23 5 views
0

ViewStateなどの暗号化/復号化に使用されている現在のmachineKeyを取得しようとしています。別の問題をデバッグしようとしています。 (私のアプリケーションはサーバーファーム内にあり、一部のリソースが正しく復号化されない問題をデバッグするために、各サーバーとアプリケーションのmachine.configとweb.configにマシンキーが設定されています。この暗号化に使用されている1を参照するために)ここに私のコードスニペットです。「オブジェクトのインスタンスに設定されていないオブジェクト参照」これは索引付きのプロパティですか、そうですか、またはneaですか?

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がスローされるようにこれは、おそらく2番目のnullパラメータを正しく設定していないことを意味します(プロパティのインデックスを作成する必要がありますか?)。

しかし、machineKeyのValidationKeyプロパティのParameterInfoの長さが0であるため(プロパティはインデックスされていません)

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

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

私はここに見下ろすていますし、これを見て、目の第二の対を愛する何かは明らかにあります。助言がありますか?

答えて

0

MachineKeySectionのインスタンスを渡す必要があるときに、typeof(MachineKeySection)を渡しています。

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

hereから取られた)のようなものする必要があります

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

は、だからあなたの質問に答えるために、いいえ、それはインデックス付きプロパティではありません。文書hereを確認することができます。

関連する問題