我正在使用Visual Studio 2008中的ReportViewer控件,以对象作为数据源。我的类映射到数据库中的数据表。在对象中,它根据需要加载相关对象,因此它将引用为空,直到您尝试使用属性,然后它会自动从数据库中加载它。这些类使用System.Data.SqlClient命名空间。
当我在Windows Forms应用程序中与对象交互时,一切正常。但是当我将对象传递给用作报告数据源的对象,并尝试自动加载相关对象时,它失败了。该代码创建一个SqlConnection对象,并在调用GetCommand()时抛出以下异常:
[System.Security.SecurityException] {
"Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed."
} System.Security.SecurityException
我尝试搜索错误信息,但所有出现的结果都是关于在SQL Server或ASP.Net上运行CLR程序集的。我尝试在创建SqlConnection对象之前添加以下调用(如搜索结果中建议的),但似乎没有任何作用:
System.Data.SqlClient.SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted).Assert();
有什么想法吗?