打印内存高解决方案
private static object printObj;
public void PrintView(string xml, string encoding, string type, string alwaysReload)
{
string path = Path.Combine(Application.StartupPath, "HTEMREditorLib.exe");
string typeName = "HTEMREditorLib.Gui.EMRPrintView";
if (alwaysReload == "1")
{
AppDomain domain = AppDomain.CreateDomain("PrintView");
object obj = domain.CreateInstanceFromAndUnwrap(path, typeName);
obj.GetType().GetMethod("PrintView").Invoke(obj, new object[] { xml, encoding, type });
obj = null;
AppDomain.Unload(domain);
}
else
{
if (printObj == null)
{
Assembly assembly = Assembly.LoadFrom(path);
printObj = assembly.CreateInstance(typeName);
}
printObj.GetType().GetMethod("PrintView").Invoke(printObj, new object[] { xml, encoding, type });
}
}