Re[3]: Как создавать COM+-компоненты на .NET-е (это ответ, а
От: grat  
Дата: 30.12.03 14:01
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Это можно сделать или с помозю разделяемых свойств КОМ+-а (Shared Property Manager). Или просто создав синглтон-объект средствами дотнета.


VD>Единственное что стоит учесть — это то что объекты могут загружаться в разных процессах (завист от конфигурации приложения). При этом ни один из способов работать не будет. Выходм может быть синглтон-КОМ-объект. Создать таковой без гемароя можно только на С++.


Все объекты выполняются в контексте одного процесса на DCOM сервере. Вот пример:

// server
[assembly: ApplicationActivation(ActivationOption.Server)]

namespase Test
{
public class Class1: ServicedComponent
{
   [ContextStatic] internal static string str;
   public Class1() {}
   public void Method(string s)
   {
      str = s;
   }
}

public class Class2: ServicedComponent
{
   public Class2() {}
   public string Method()
   {
      return Class1.str;
   }
}
}


// client JScript
var c1 = new ActiveXObject("Test.Class1");
var c2 = new ActiveXObject("Test.Class2");
c1.Method("test1");
WScript.Echo(c2.Method());


Что надо сделать, чтобы одновременно работающие клиенты имели свое, уникальное, значение str?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.