2010-07-29 4 views
0

У меня такое ощущение, что наши удаленные службы .NET переполняются экземплярами объектов, которые висят на нашем сервере..NET Remoting List Все активированные сервером объекты

Я не могу изменить код, чтобы добавить дополнительную регистрацию прямо сейчас, так как это развернутый экземпляр продукции. Тем не менее, у нас есть консоль кода, встроенная в приложение, которая позволит нам выполнить любой код в домене приложения сервера.

Итак, я ищу способ получить список (или счет) всех удаленных объектов (MarshalByRef), которые в настоящее время существуют для наших открытых каналов удаленного доступа. Также полезным будет список/кол-во всех открытых клиентов, удаляющих Tcp-каналы на наш сервер.

Может ли кто-нибудь сказать мне, как это сделать в коде?

Спасибо!

ответ

3

Есть несколько счетчиков производительности .NET Remoting CLR, которые могут быть полезны:

.NET CLR Remoting

  • Каналы
  • Контекст Proxies
  • Контекст-Bound Классы Загруженные
  • Контекстно-связанные объекты Alloc/sec
  • Контексты
  • удаленных вызовов/сек
  • Всего удаленных вызовов

Честно говоря, не уверен, что если бы помочь частный случай, но что-то смотреть в ...

Вы можете просто использовать perfmon.exe для просмотра их, но если вы хотите сделать это с C#, это тоже довольно просто.