1
我創建一個AppDomain,在新域中創建一個對象實例並調用一個方法,該方法返回包裝對象上當前AppDomain的名稱。返回的值是主程序域的名稱,而不是新創建的名稱。順便說一下,代碼在VS2010中作爲UnitTest被執行。在調用者域中執行跨AppDomain調用域
任何想法爲什麼測試失敗?
[Serializable]
public class DomainHelper
{
public string GetDomainName()
{
return AppDomain.CurrentDomain.FriendlyName;
}
}
[TestClass]
public class DomainTests
{
[TestMethod]
public void RemoteCall()
{
var binDir = Path.GetDirectoryName(new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath);
const string appDomainName = "TEST";
var x = AppDomain.CreateDomain(appDomainName, null, binDir,null, false);
var remoteType = typeof(DomainHelper);
var remote = (DomainHelper) x.CreateInstanceAndUnwrap(remoteType.Assembly.FullName, remoteType.FullName);
Assert.AreEqual(appDomainName, remote.GetDomainName());
}
}
謝謝,現在有道理! – Mehran 2012-02-02 07:10:19