[Mono-list] AppDomain problems
Jaak Simm
jaaksimm@firm.ee
Wed, 14 Aug 2002 22:31:25 +0200
It seems that following line is creating
System.Security.Policy.PolicyException:
AppDomain newDomain = AppDomain.CreateDomain ("NewDomain", new
Evidence (), setup);
It went away when I replaced it with:
Evidence baseEvidence = AppDomain.CurrentDomain.Evidence;
Evidence evidence = new Evidence(baseEvidence);
AppDomain newDomain = AppDomain.CreateDomain ("NewDomain", evidence,
setup);
These lines are from the example in SDK Documentation of
AppDomain.CreateDomain :).
I hope it helps.
Cheers,
Jaak
Dietmar Maurer wrote:
>I cant get the attached program to work on MS windows, even if security
>is turned off with: CasPol -s off
>
>Whats wrong? Any ideas?
>
>- Dietmar
>
>------------------------------------------------------------------------
>using System;
>using System.Security.Policy;
>using System.Threading;
>using System.Runtime.Serialization;
>
>class Container {
>
> [Serializable]
> public struct c2 : ISerializable {
> public int a;
> public string s1;
>
> private c2 (SerializationInfo info, StreamingContext context) {
> a = info.GetInt32("a");
> s1 = info.GetString("s1");
> Console.WriteLine ("SetObjectData called: " + info.AssemblyName + "," +
> info.FullTypeName + " " + s1 + ", " + a);
> }
>
> public void GetObjectData (SerializationInfo info, StreamingContext context) {
> Console.WriteLine ("GetObjectData called: " + info.AssemblyName + "," +
> info.FullTypeName + " " + s1 + ", " + a);
> info.AddValue ("a", a);
> if (s1 != null)
> info.AddValue ("s1", s1);
> else
> info.AddValue ("s1", "(null)");
> }
> }
>
> [Serializable]
> public class c1 {
> public c1 () {
> e1.a = 3;
> e1.s1 = "SS";
> }
> public int a = 1;
> public int b = 2;
> public string s1 = "TEST1";
> [NonSerialized] public string s2 = "TEST2";
> public c2 [] sa = new c2 [2];
> public c2 e1;
> }
>
> static int Main ()
> {
> AppDomainSetup setup = new AppDomainSetup ();
> setup.ApplicationBase = ".";
>
> Console.WriteLine (AppDomain.CurrentDomain.FriendlyName);
>
> AppDomain newDomain = AppDomain.CreateDomain ("NewDomain", new Evidence (), setup);
>
> c1 a1 = new c1 ();
>
> newDomain.SetData ("TEST", a1);
> c1 r1 = (c1)newDomain.GetData ("TEST");
> if (r1.a != 1 || r1.b !=2)
> return 1;
>
> if (r1.s1 != "TEST1")
> return 2;
>
> if (r1.s2 != null)
> return 3;
>
> if (r1.e1.a != 3)
> return 4;
>
> if (r1.e1.s1 != "SS")
> return 4;
>
> if (r1.sa [0].s1 != "(null)")
> return 5;
>
> if (r1.sa [0].a != 0)
> return 6;
>
> return 0;
> }
>}
>
>
>
>
>
>_______________________________________________
>Mono-list maillist - Mono-list@ximian.com
>http://lists.ximian.com/mailman/listinfo/mono-list
>
>
>