using System;
using System.Text;
namespace Interface
{
public
interface ILoadXml
{
string LoadXmlInMemory();
}
}
using System;
using System.Text;
using System.Xml;
using Interface;
namespace ClassLibrary
{
public class
MyClass : MarshalByRefObject, ILoadXml
{
XmlDocument xdoc = null;
public string LoadXmlInMemory()
{
xdoc = new XmlDocument();
xdoc.Load(@"d:\1.xml");
return AppDomain.CurrentDomain.FriendlyName;
}
}
}
using System;
using System.Text;
using System.Reflection;
using Interface;
namespace ConsoleApplication13
{
class
Program
{
static void Main(string[] args)
{
Assembly a = Assembly.Load("ClassLibrary");
AppDomain appDomain = AppDomain.CreateDomain("newDomain");
AppDomain.MonitoringIsEnabled = true;
MarshalByRefObject mbro =
(MarshalByRefObject)appDomain.CreateInstanceAndUnwrap(a.FullName,
"ClassLibrary.MyClass");
appDomain.SetData("a1", mbro);
ILoadXml proxy = (ILoadXml)appDomain.GetData("a1");
string result = proxy.LoadXmlInMemory();
//不卸载查看内存,卸载后再查看内存
AppDomain.Unload(appDomain);
GC.Collect();
Console.ReadKey();
}
}
}
评论 想第一时间抢沙发么?