// ------------------------------------------ // | For failures due to insufficient grant | // ------------------------------------------ public SecurityException(string message, AssemblyName assemblyName, PermissionSet grant, PermissionSet refused, MethodInfo method, SecurityAction action, Object demanded, IPermission permThatFailed, Evidence evidence) : base(message) { PermissionSet.s_fullTrust.Assert(); SetErrorCode(System.__HResults.COR_E_SECURITY); Action = action; if(permThatFailed != null) m_typeOfPermissionThatFailed = permThatFailed.GetType(); FirstPermissionThatFailed = permThatFailed; Demanded = demanded; m_granted = (grant == null ? "" : grant.ToXml().ToString()); m_refused = (refused == null ? "" : refused.ToXml().ToString()); m_denied = ""; m_permitOnly = ""; m_assemblyName = assemblyName; Method = method; m_url = ""; m_zone = SecurityZone.NoZone; if(evidence != null) { Url url = (Url)evidence.FindType(typeof(Url)); if(url != null) m_url = url.GetURLString().ToString(); Zone zone = (Zone)evidence.FindType(typeof(Zone)); if(zone != null) m_zone = zone.SecurityZone; } m_debugString = this.ToString(true, false); }