Я пытаюсь реализовать обслуживаемый компонент в качестве одноэлементного. В настоящее время мой код выглядит так:Singleton Serviced Component
[assembly: ApplicationName("SingletonServicedComponent")]
[assembly: ApplicationActivation(ActivationOption.Server)]
[assembly: ApplicationAccessControl(false)]
[ComVisible(true)]
[JustInTimeActivation(true)]
[ComponentAccessControl(false)]
[ProgId("Singleton.ServicedComponent")]
[ObjectPooling(Enabled = true, MaxPoolSize = 1, MinPoolSize = 1, CreationTimeout = 5000)]
public sealed class SingletonServicedComponent : System.EnterpriseServices.ServicedComponent
{
private int value = 0;
protected override bool CanBePooled()
{
return true;
}
public int Increment()
{
return this.value++;
}
}
Я по образцу того, что объединяли, с минимальным и максимальным числом экземпляра 1. я подписал свою сборку и зарегистрированную его Regasm и regsvcs. Он отображается в консоли «Службы компонентов» и отображается как «ОК». Однако, когда я создаю экземпляр в разных приложениях, я, похоже, не получаю тот же экземпляр. Любые мысли?