2
我試圖瞭解AppDomains和安全策略,但是我遇到了問題。單聲道和應用程序域安全/權限集
單聲道似乎不服從我的權限,我正在嘗試沙箱AppDomain。
使用.NET它就像預期的那樣運行 - 由於我完全沒有設置權限,因此我得到安全權限錯誤。
在單聲道它不會這樣做。我嘗試了Mono-2.6和Mono-2.10.8,單聲道只是運行程序而沒有任何錯誤。
C#代碼,我使用.NET和單聲道:
namespace AppDomainTest
{
class Program
{
private static AppDomain _domain;
static void Main(string[] args)
{
AppDomainSetup info = new AppDomainSetup
{
ApplicationName = "AppDomainTest",
ApplicationBase = Environment.CurrentDirectory,
};
PermissionSet permSet = new PermissionSet(PermissionState.None);
//permSet.AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution));
// permSet.AddPermission(new FileIOPermission(PermissionState.Unrestricted));
_domain = AppDomain.CreateDomain("TestDomain", null, info, permSet);
TestObj o = (TestObj)_domain.CreateInstanceAndUnwrap(typeof(TestObj).Assembly.FullName, "AppDomainTest.TestObj");
Console.WriteLine(o.GetDomainName());
}
}
public class TestObj : MarshalByRefObject
{
public string GetDomainName()
{
return AppDomain.CurrentDomain.FriendlyName;
}
}
}
是有什麼內在的錯誤我在這裏做什麼?
單聲道沙盒代碼有替代嗎? – 2012-04-24 17:18:06
你可以寫郵件列表嗎? http://www.mono-project.com/Support – 2012-04-25 00:04:01