Здравствуйте, 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?