首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# -马歇尔的价值问题!

C# -马歇尔的价值问题!
EN

Stack Overflow用户
提问于 2010-12-23 07:13:22
回答 1查看 473关注 0票数 1

问题是,我在使用远程机制“按值封送”创建一个新对象时遇到了问题。

这是我的班级:

代码语言:javascript
复制
  [Serializable]
    internal class Empleado_MBV
    {
        public Empleado_MBV()
        {
            Id = 123456789;
            Nombres = "NotEntry";
            Apellidos = "NotEntry";
            FechaNacimiento = DateTime.MinValue;
            Direccion = "NotEntry";
            Metapreferencias = "NotEntry";
        }

        private List<Multas> _multas;

        internal List<Multas> Multas
        {
            get { return _multas; }
            set { _multas = value; }
        }

        private int _id;

        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }
        private string _nombres;

        public string Nombres
        {
            get { return _nombres; }
            set { _nombres = value; }
        }
        private string _apellidos;

        public string Apellidos
        {
            get { return _apellidos; }
            set { _apellidos = value; }
        }
        private DateTime _FecNac;

        public DateTime FechaNacimiento
        {
            get { return _FecNac; }
            set { _FecNac = value; }
        }
        private string _direccion;

        public string Direccion
        {
            get { return _direccion; }
            set { _direccion = value; }
        }
        private string _metapreferencias;

        public string Metapreferencias
        {
            get { return _metapreferencias; }
            set { _metapreferencias = value; }
        }

        public string _AppDomainHost
        {
            get { return AppDomain.CurrentDomain.FriendlyName.ToString(); }
        }
    }

但是,当我试图在另一个"appdomain“中创建一个对象时,"Empleado”的属性"_AppDomainHost“并不显示我创建的"appdomain",而是默认显示"appdomain”。一些想法?

代码语言:javascript
复制
AppDomain ad1 = AppDomain.CreateDomain("NewAppDomain");
        //Crear new object in my new AD.
        Empleado_MBV mbv_emp =      (Empleado_MBV)ad1.CreateInstanceFromAndUnwrap("DEMO_MBV_MBR.exe", "DEMO_MBV_MBR.Empleado_MBV");

        Console.WriteLine(AppDomain.CurrentDomain.FriendlyName.ToString());
        Console.WriteLine("MBV : {0}",mbv_emp._AppDomainHost.ToString());

        Console.ReadLine();

结果:

DEMO_MBV_MBR.vshost.exe

MBV : DEMO_MBV_MBR.vshost.exe

我想要的结果:

DEMO_MBV_MBR.vshost.exe

MBV : NewAppDomain

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-23 07:16:54

您需要将AppDomain存储在Empleado_MBV的构造函数中。

您现在要做的是使用它的AppDomain静态属性显示当前的Current。它将返回正在执行当前代码的AppDomain

示例:

代码语言:javascript
复制
private string _appDomainHost;
public string _AppDomainHost
{
    get { return _appDomainHost; }
}

在构造者中:

代码语言:javascript
复制
_appDomainHost = AppDomain.CurrentDomain.FriendlyName.ToString();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4516601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档