2012-10-10 15 views
0

我已經試過的方法不同的量,這是我所想不火的錯誤,但無濟於事我仍然得到FileIOPermission的錯誤FileIOPermission的錯誤

完整的錯誤是

我的最新方法

請求類型 'System.Security.Permissions.FileIOPermission,mscorlib程序,版本= 4.0.0.0,文化=中性公鑰= b77a5c561934e089' 的許可失敗

我使用的代碼是低於

Dim permissions As New Security.PermissionSet(Security.Permissions.PermissionState.None) 
    permissions.AddPermission(New Security.Permissions.FileIOPermission(Security.Permissions.PermissionState.Unrestricted)) 
    permissions.AddPermission(New Security.Permissions.SecurityPermission(Security.Permissions.SecurityPermissionFlag.Execution)) 
    permissions.AddPermission(New Security.Permissions.SecurityPermission(Security.Permissions.SecurityPermissionFlag.Assertion)) 
    permissions.Assert() 
    ReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(permissions) 

    Dim asm As Reflection.Assembly = Reflection.Assembly.Load("ReportingServiceUtils, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cca1b177d76f2036") 
    Dim asm_name As Reflection.AssemblyName = asm.GetName() 
    ReportViewer1.LocalReport.AddFullTrustModuleInSandboxAppDomain(New Security.Policy.StrongName(New Security.Permissions.StrongNamePublicKeyBlob(asm_name.GetPublicKeyToken()), asm_name.Name, asm_name.Version)) 

在DLL中使用的代碼是低於

Public Sub Add(ByVal group As String, ByVal groupCurrentPageNumber As String) 
    Try 
     If _GroupWithRunningMaxPageNumber.ContainsKey(group) Then 
      _GroupWithRunningMaxPageNumber(group) = groupCurrentPageNumber 
     Else 
      If _GroupWithRunningMaxPageNumber.Count = 0 Then 
       Dim fileName = "C:\Working Folder\ms-dot-net-report-viewer-group-pagenation\ReportingServiceUtils\test.xml" 
       sw = New System.IO.StreamWriter(fileName, False) 
       sw.WriteLine("<root>") 
       sw.WriteLine("</root>") 
       sw.Close() 
       sw.Dispose() 
      End If 
      _GroupWithRunningMaxPageNumber.Add(group, groupCurrentPageNumber) 
      sw.WriteLine("<Group current='" & group & "' lastPage='" & CStr(groupCurrentPageNumber) & "'/>", 1, 1) 
      sw.Close() 
     End If 
    Catch ex As Exception 
     Throw ex 
    End Try 
End Sub 

有誰看到什麼毛病下面的代碼

回答

0

我已經找到了解決辦法,這是很有趣,當我做到了。 下面的1班輪解決了無法從報告中獲取文件的問題。

Dim auth As New System.Security.Permissions.FileIOPermission(System.Security.Permissions.PermissionState.Unrestricted)

0

使用PermissionSet

 var sec = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted); 

     ReportViewer1.LocalReport.SetBasePermissionsForSandboxAppDomain(sec); 

您可以轉換從C#VB.net easyly