trackinghandler.cs

来自「Professional C# 2nd Edition」· CS 代码 · 共 49 行

CS
49
字号
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Services;
using System.Runtime.Remoting.Channels;

namespace Wrox.ProfessionalCSharp
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	public class TrackingHandler : ITrackingHandler
	{
		public TrackingHandler()
		{
		}

      public void MarshaledObject(object obj, ObjRef or)
      {
         Console.WriteLine("--- Marshaled Object " +      
            obj.GetType() + " ---");      
         Console.WriteLine("Object URI: " + or.URI);
         object[] channelData = or.ChannelInfo.ChannelData;
         foreach (object data in channelData)
         {
            ChannelDataStore dataStore = data as ChannelDataStore;
            if (dataStore != null)
            {
               foreach (string uri in dataStore.ChannelUris)
               {
                  Console.WriteLine("Channel URI: " + uri);
               }
            }
         }
         Console.WriteLine("---------");
         Console.WriteLine();
      }

      public void UnmarshaledObject(object obj, ObjRef or)
      {
         Console.WriteLine("Unmarshal");
      }

      public void DisconnectedObject(object obj)
      {
         Console.WriteLine("Disconnect");            
      } 
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?