Описание проблемы:
Система состоит из СОМ компонентов, пишется система взаимодействия с пользователями, необходимо осуществлять асинхронный вызов СОМ компонентов.
Принято решение использовать .NET Web Services (их можно получить из СОМ с помощью SOAP Toolkit), но КАК РЕАЛИЗОВАТЬ ВЫЗОВ МЕТОДОВ ВЕБ СЕРВИСА И ПРИ ЭТОМ ИМЕТЬ ВОЗМОЖНОСТЬ ХРАНИТЬ ССЫЛКУ НА НЕГО В ПАМЯТИ если клиент — ASP.NET ???
Нашли ответ:
Оказывается в .Net Frameworks есть обьект Activator который может создавать обьекты и возвращать на него ссылку (вроде бы все решилось), но при написании примера при обращении к обьекту через ссылку мы получаем новый обьект???
Что делать?
Может кто уже сталкивался?
Спасибо за ответ.
(Если кто хочет знать почему Web Services, пишите...)
На сколько я понял WebService — всегда срэйтлес, т.е. не могут хранить состояния. В .Net (не в СОАП-тулкит, а в настоящем .Net) есть такая фича — ремоутинг. Активаторы это из этой оперы... и там действительно можно получить объект работающий по http, но стэйтфул.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте VladD2, Вы писали:
VD>Здравствуйте authserv.
VD>На сколько я понял WebService — всегда срэйтлес,
stateless?
Вобще то нет. Там (в asp.net) есть сессии. VD> т.е. не могут хранить состояния. В .Net (не в СОАП-тулкит, а в настоящем .Net) есть такая фича — ремоутинг. Активаторы это из этой оперы...
Скорее из оперы reflection
Здравствуйте AndrewVK, Вы писали:
AVK>Здравствуйте VladD2, Вы писали:
VD>>Здравствуйте authserv.
VD>>На сколько я понял WebService — всегда срэйтлес, AVK>stateless?
Да.
AVK>Вобще то нет. Там (в asp.net) есть сессии.
Ну, и что? В ASP (простом) тоже сесии есть, но сама страница всегда стэйтлес.
VD>> т.е. не могут хранить состояния. В .Net (не в СОАП-тулкит, а в настоящем .Net) есть такая фича — ремоутинг. Активаторы это из этой оперы... AVK>Скорее из оперы reflection
Ну, если речь идет о создании локальных объектов, то да, а если о удаленных, то скорее больше о ремоутенге.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте VladD2, Вы писали:
AVK>>Вобще то нет. Там (в asp.net) есть сессии.
VD>Ну, и что? В ASP (простом) тоже сесии есть, но сама страница всегда стэйтлес.
Не понял что значит сама страница. Если ты не используешь сессии — stateless, если используешь — stateful.
AVK>>Скорее из оперы reflection VD>Ну, если речь идет о создании локальных объектов, то да, а если о удаленных, то скорее больше о ремоутенге.
Проще посмотреть доку
Contains methods to create types of objects locally or remotely, or obtain references to existing remote objects.
Здравствуйте AndrewVK, Вы писали:
VD>>Ну, и что? В ASP (простом) тоже сесии есть, но сама страница всегда стэйтлес. AVK>Не понял что значит сама страница. Если ты не используешь сессии — stateless, если используешь — stateful.
Сама страница всегда stateless! Она получает параметры — переменные сервера и куки (переменные клиента). Сесия — это всего лишь такой параметр (реализуемый, кстати, на куки). Страницу проще всего рассматривать как один метод...
AVK>Contains methods to create types of objects locally or remotely, or obtain references to existing remote objects.
AVK>Так что и то и другое
Ну? Только во втором случае ему приходится пользоваться ремоутингом. Я об этом и говорил. С точи зрения абстракции это конечно одно и тоже.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте AndrewVK, Вы писали:
AVK>Не понял что значит сама страница. Если ты не используешь сессии — stateless, если используешь — stateful.
Если бы страница была бы stateful, то все ее объекты тоже сохраняли бы значения. Кстати, в ASP.Net — это вроде так и есть, но в WebServices (вроде) не так.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте VladD2, Вы писали:
VD>Сама страница всегда stateless! Она получает параметры — переменные сервера и куки (переменные клиента). Сесия — это всего лишь такой параметр (реализуемый, кстати, на куки). Страницу проще всего рассматривать как один метод...
Это уже вопрос терминологии. ИМХО если объект может передавать свое состояние от сеанса к сеансу то он стейтфул, неважно как он это делает, автоматически или вручную. В jsp кстати некоторые сервера даже сериализуют сессии на диск, поэтому страницы и сервлеты могут сохранять свое состояние даже после перезапуска машины.
Здравствуйте VladD2, Вы писали:
VD>Если бы страница была бы stateful, то все ее объекты тоже сохраняли бы значения. Кстати, в ASP.Net — это вроде так и есть, но в WebServices (вроде) не так.
Web services это часть ASP.Net. А то о чем ты говоришь называется web forms. И состояние они сохраняют именно посредством сессии а не с помощью каких то фич iis. Никто не мешает тебе пользоваться подобными методами в случае web services.
Здравствуйте AndrewVK, Вы писали:
AVK>Здравствуйте VladD2, Вы писали:
VD>>Если бы страница была бы stateful, то все ее объекты тоже сохраняли бы значения. Кстати, в ASP.Net — это вроде так и есть, но в WebServices (вроде) не так. AVK>Web services это часть ASP.Net. А то о чем ты говоришь называется web forms. И состояние они сохраняют именно посредством сессии а не с помощью каких то фич iis. Никто не мешает тебе пользоваться подобными методами в случае web services.
Я знаю только два состояния: есть и нет. А может быть и наверно - это не для меня. Так вом, в ASP.Net (ну, или WebForms) страница оформлена в виде класса и сохнарение промежуточного состояния уже сделано. А в ASP нет.
Я могу сделать сохранение состояния и для процедур в SQL-сервере и для функций в C. Но эти языки (как и ASP) никакого отношения к ОО не имеют, а значит даже говорить о поддержке ими состояний объектов просно неверно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте AndrewVK, Вы писали:
AVK>Здравствуйте VladD2, Вы писали:
VD>>Если бы страница была бы stateful, то все ее объекты тоже сохраняли бы значения. Кстати, в ASP.Net — это вроде так и есть, но в WebServices (вроде) не так. AVK>Web services это часть ASP.Net. А то о чем ты говоришь называется web forms. И состояние они сохраняют именно посредством сессии а не с помощью каких то фич iis. Никто не мешает тебе пользоваться подобными методами в случае web services.
Так а разве обьекты сессии это не обьекты IIS. ?
Тоесть ето чистые обьекты .net framework?