託管在IIS運行asp.net 4時,我們正與下面的代碼有問題使用反射:異常與IIS ASP.NET 4.0和私人領域
DataTable dt = new DataTable();
FieldInfo TableCaseSensitiveAmbientFieldInfo =
typeof(DataTable).GetField("_caseSensitiveUserSet", BindingFlags.Instance | BindingFlags.NonPublic);
TableCaseSensitiveAmbientFieldInfo.SetValue(dt, true);
的.SetValue()調用失敗一個FieldAccessException(這個代碼來自公共源代碼文件名ADONetHelper.cs,它使用來自一個名爲CompactFormatterPlus的公共源DLL)
這似乎只發生在IIS中託管時。
我們認爲這是由於反射/代碼訪問權限(在搜索答案後),但我們沒有找到正確的值集合來啓用此代碼。
任何想法?? 謝謝, 弗雷德