本文整理汇总了C#中System.Security.Permissions.SecurityPermission.IsUnrestricted方法的典型用法代码示例。如果您正苦于以下问题:C# SecurityPermission.IsUnrestricted方法的具体用法?C# SecurityPermission.IsUnrestricted怎么用?C# SecurityPermission.IsUnrestricted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.Permissions.SecurityPermission
的用法示例。
在下文中一共展示了SecurityPermission.IsUnrestricted方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: rtfcontrol_Load
private void rtfcontrol_Load(object sender, System.EventArgs e)
{
//new FileIOPermission(PermissionState.Unrestricted).Assert();
PrincipalPermission P = new PrincipalPermission(PermissionState.Unrestricted);
if(!P.IsUnrestricted())
Msg("Assigning Principal failed!");
else
Msg("Assigning Principal passed!!");
SecurityPermission SP = new SecurityPermission(PermissionState.Unrestricted);
if(!SP.IsUnrestricted())
Msg("Assigning SecurityPermission failed!");
else
Msg("Assigning SecurityPermission passed!!");
try
{
SP.Assert();
}
catch(Exception Err)
{
throw new Exception(Err.Message,Err.InnerException);
}
ListViewItem LVI = listView1.Items.Add(System.DateTime.Now.ToShortTimeString());
LVI.SubItems.Add("Contacting Server please wait...");
CodeAccessPermission.RevertAssert();
}
示例2: ReadWithRetry
/// <summary>
/// Workitem 7889: handle ERROR_LOCK_VIOLATION during read
/// </summary>
/// <remarks>
/// This could be gracefully handled with an extension attribute, but
/// This assembly is built for .NET 2.0, so I cannot use them.
/// </remarks>
internal static int ReadWithRetry(System.IO.Stream s, byte[] buffer, int offset, int count, string FileName)
{
int n = 0;
bool done = false;
#if !NETCF && !SILVERLIGHT
int retries = 0;
#endif
do
{
try
{
n = s.Read(buffer, offset, count);
done = true;
}
#if NETCF || SILVERLIGHT
catch (System.IO.IOException)
{
throw;
}
#else
catch (System.IO.IOException ioexc1)
{
// Check if we can call GetHRForException,
// which makes unmanaged code calls.
var p = new SecurityPermission(SecurityPermissionFlag.UnmanagedCode);
if (p.IsUnrestricted())
{
uint hresult = _HRForException(ioexc1);
if (hresult != 0x80070021) // ERROR_LOCK_VIOLATION
throw new System.IO.IOException(String.Format("Cannot read file {0}", FileName), ioexc1);
retries++;
if (retries > 10)
throw new System.IO.IOException(String.Format("Cannot read file {0}, at offset 0x{1:X8} after 10 retries", FileName, offset), ioexc1);
// max time waited on last retry = 250 + 10*550 = 5.75s
// aggregate time waited after 10 retries: 250 + 55*550 = 30.5s
System.Threading.Thread.Sleep(250 + retries * 550);
}
else
{
// The permission.Demand() failed. Therefore, we cannot call
// GetHRForException, and cannot do the subtle handling of
// ERROR_LOCK_VIOLATION. Just bail.
throw;
}
}
#endif
}
while (!done);
return n;
}
示例3: PermissionState_Unrestricted
public void PermissionState_Unrestricted ()
{
PermissionState ps = PermissionState.Unrestricted;
SecurityPermission sp = new SecurityPermission (ps);
Assert.AreEqual (SecurityPermissionFlag.AllFlags, sp.Flags, "Flags");
Assert.IsTrue (sp.IsUnrestricted (), "IsUnrestricted");
SecurityElement se = sp.ToXml ();
// only class and version are present
Assert.AreEqual ("true", se.Attribute ("Unrestricted"), "Xml-Unrestricted");
Assert.IsNull (se.Children, "Xml-Children");
SecurityPermission copy = (SecurityPermission)sp.Copy ();
Assert.IsFalse (Object.ReferenceEquals (sp, copy), "ReferenceEquals");
Assert.AreEqual (sp.Flags, copy.Flags, "Flags");
Assert.AreEqual (sp.IsUnrestricted (), copy.IsUnrestricted (), "IsUnrestricted ()");
}