客户端New 一个对象的时候不是知道的吗?

解决方案 »

  1.   

    class Server
    {
        static void Main(string[] args)
        {
            RemotingConfiguration.Configure(AppDomain.CurrentDomain.BaseDirectory + "server.exe.config");
    // TrackingServices.RegisterTrackingHandler(new TrackingHandler());
    Console.WriteLine("Server ready.");
            Console.ReadLine();
        }
    public static void writestring(string a)
    {
    Console.WriteLine(a);
    }
    }public class TrackingHandler : ITrackingHandler
    { // Notify a handler that an object has been marshaled.
    public void MarshaledObject(Object obj, ObjRef or)
    {
    // Server.writestring("Tracking: An instance of" + obj.ToString() + "was marshaled. The instance HashCode is: " + obj.GetHashCode().ToString());
    Console.WriteLine("Tracking: An instance of {0} was marshaled. The instance HashCode is: {1}", obj.ToString(), obj.GetHashCode().ToString());
    Console.WriteLine(System.DateTime.Now.ToString());
    Console.WriteLine("ObjRef dump:");
    if (or.ChannelInfo != null)
    {
    Console.WriteLine("  -- ChannelInfo: ");
    DumpChannelInfo(or.ChannelInfo);
    }
    if (or.EnvoyInfo != null)
    Console.WriteLine("  -- EnvoyInfo: " + or.EnvoyInfo.ToString());
    if (or.TypeInfo != null)
    {
    Console.WriteLine("  -- TypeInfo: " + or.TypeInfo.ToString());
    Console.WriteLine("      -- " + or.TypeInfo.TypeName);
    }
    if (or.URI != null)
    Console.WriteLine("  -- URI: " + or.URI.ToString());


    // IPrincipal principal = Thread.CurrentPrincipal;

    } private void DumpChannelInfo(IChannelInfo info)
    { foreach(object obj in info.ChannelData)
    {
    if(obj is ChannelDataStore)
    {
    foreach(string uri in ((ChannelDataStore)obj).ChannelUris)
    Console.WriteLine("      -- ChannelUris:" + uri);
    }
    }
    } // Notify a handler that an object has been unmarshaled.
    public void UnmarshaledObject(Object obj, ObjRef or)
    {
    Console.WriteLine("Tracking: An instance of {0} was unmarshaled. The instance HashCode is: {1}", obj.ToString(), obj.GetHashCode().ToString());
    } // Notify a handler that an object has been disconnected.
    public void DisconnectedObject(Object obj)
    {
    Console.WriteLine("Tracking: An instance of {0} was disconnected. The instance HashCode is: {1}", obj.ToString(), obj.GetHashCode().ToString());
    Console.WriteLine(System.DateTime.Now.ToString());
    }
    }
      

  2.   

    class Server
    {
        static void Main(string[] args)
        {
            RemotingConfiguration.Configure(AppDomain.CurrentDomain.BaseDirectory + "server.exe.config");
    TrackingServices.RegisterTrackingHandler(new TrackingHandler());
    Console.WriteLine("Server ready.");
            Console.ReadLine();
        }
    public static void writestring(string a)
    {
    Console.WriteLine(a);
    }
    }public class TrackingHandler : ITrackingHandler
    { // Notify a handler that an object has been marshaled.
    public void MarshaledObject(Object obj, ObjRef or)
    {
    // Server.writestring("Tracking: An instance of" + obj.ToString() + "was marshaled. The instance HashCode is: " + obj.GetHashCode().ToString());
    Console.WriteLine("Tracking: An instance of {0} was marshaled. The instance HashCode is: {1}", obj.ToString(), obj.GetHashCode().ToString());
    Console.WriteLine(System.DateTime.Now.ToString());
    Console.WriteLine("ObjRef dump:");
    if (or.ChannelInfo != null)
    {
    Console.WriteLine("  -- ChannelInfo: ");
    DumpChannelInfo(or.ChannelInfo);
    }
    if (or.EnvoyInfo != null)
    Console.WriteLine("  -- EnvoyInfo: " + or.EnvoyInfo.ToString());
    if (or.TypeInfo != null)
    {
    Console.WriteLine("  -- TypeInfo: " + or.TypeInfo.ToString());
    Console.WriteLine("      -- " + or.TypeInfo.TypeName);
    }
    if (or.URI != null)
    Console.WriteLine("  -- URI: " + or.URI.ToString());


    // IPrincipal principal = Thread.CurrentPrincipal;

    } private void DumpChannelInfo(IChannelInfo info)
    { foreach(object obj in info.ChannelData)
    {
    if(obj is ChannelDataStore)
    {
    foreach(string uri in ((ChannelDataStore)obj).ChannelUris)
    Console.WriteLine("      -- ChannelUris:" + uri);
    }
    }
    } // Notify a handler that an object has been unmarshaled.
    public void UnmarshaledObject(Object obj, ObjRef or)
    {
    Console.WriteLine("Tracking: An instance of {0} was unmarshaled. The instance HashCode is: {1}", obj.ToString(), obj.GetHashCode().ToString());
    } // Notify a handler that an object has been disconnected.
    public void DisconnectedObject(Object obj)
    {
    Console.WriteLine("Tracking: An instance of {0} was disconnected. The instance HashCode is: {1}", obj.ToString(), obj.GetHashCode().ToString());
    Console.WriteLine(System.DateTime.Now.ToString());
    }}上个错了