Прочитать на английском

Поделиться через


ClientSponsor Класс

Определение

Предоставляет реализацию по умолчанию для класса спонсора жизненного цикла.

public class ClientSponsor : MarshalByRefObject, System.Runtime.Remoting.Lifetime.ISponsor
[System.Runtime.InteropServices.ComVisible(true)]
public class ClientSponsor : MarshalByRefObject, System.Runtime.Remoting.Lifetime.ISponsor
[System.Runtime.InteropServices.ComVisible(true)]
[System.Security.SecurityCritical]
public class ClientSponsor : MarshalByRefObject, System.Runtime.Remoting.Lifetime.ISponsor
Наследование
ClientSponsor
Атрибуты
Реализации

Примеры

В следующем примере показан класс ClientSponsor для продления срока действия удаленного объекта, активируемого классом.

using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Lifetime;
namespace RemotingSamples
{

   class HelloClient
   {
       static void Main()
      {
         // Register a channel.
         TcpChannel myChannel = new TcpChannel ();
         ChannelServices.RegisterChannel(myChannel);
         RemotingConfiguration.RegisterActivatedClientType(
                                typeof(HelloService),"tcp://localhost:8085/");

         // Get the remote object.
         HelloService myService = new HelloService();

         // Get a sponsor for renewal of time.
         ClientSponsor mySponsor = new ClientSponsor();

         // Register the service with sponsor.
         mySponsor.Register(myService);

         // Set renewaltime.
         mySponsor.RenewalTime = TimeSpan.FromMinutes(2);

         // Renew the lease.
         ILease myLease = (ILease)mySponsor.InitializeLifetimeService();
         TimeSpan myTime = mySponsor.Renewal(myLease);
         Console.WriteLine("Renewed time in minutes is " + myTime.Minutes.ToString());

         // Call the remote method.
         Console.WriteLine(myService.HelloMethod("World"));

         // Unregister the channel.
         mySponsor.Unregister(myService);
         mySponsor.Close();
      }
   }
}

Комментарии

Текущую реализацию спонсора времени существования можно использовать для спонсорской поддержки объектов, указав требуемое продление TimeSpan.

Примечание

Этот класс создает запрос на связь и требование наследования на уровне класса. Возникает SecurityException , если непосредственный вызывающий объект или производный класс не имеют разрешения инфраструктуры. Дополнительные сведения о требованиях к безопасности см. в разделах Требования ссылок и Требования наследования.

Конструкторы

ClientSponsor()

Инициализирует новый экземпляр класса ClientSponsor со значениями по умолчанию.

ClientSponsor(TimeSpan)

Инициализирует новый экземпляр класса ClientSponsor со временем продления существования спонсируемого объекта.

Свойства

RenewalTime

Получает или задает период TimeSpan, на который увеличивается время жизни спонсируемых объектов при запросе продления.

Методы

Close()

Очищает объекты списка, зарегистрированные с текущим ClientSponsor.

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Finalize()

Освобождает ресурсы текущего ClientSponsor перед тем, как их востребует сборщик мусора.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()

Инициализирует новый экземпляр ClientSponsor, предоставляя аренду для текущего объекта.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
Register(MarshalByRefObject)

Регистрирует заданный MarshalByRefObject для спонсорства.

Renewal(ILease)

Запрашивает клиент-спонсор для обновления аренды выбранного объекта.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
Unregister(MarshalByRefObject)

Отменяет регистрацию заданного MarshalByRefObject из списка объектов, спонсируемых текущим ClientSponsor.

Применяется к

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1