Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:10 13.06.24 
Клубове/ Компютри и Интернет / .NET Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Remoting vyprosche? [re: БOИЛ]
Автор шeф нa Coди Дeвня (full optional)
Публикувано30.06.03 11:23  



по принцип да ... web services се появиха когато DCOM срещна the internet ... и тъй като DCOM има нужда от paired connection, а това през http не става ... и се появиха web services ... които според мене са гениални ... web services са subdomain на .net remoting infrastructure ... като всяка технология е направена да решава определен домейн от проблеми ...

ако мислиш че имаш нужда точно от remoting има една книга "Advanced .NET Remoting" ... не съм я чел ама мисля че ще ти свърши работа ако можеш да си я поръчаш ...

освен това решението което аз ти предложих прилича на това което всъщност става при remoting: значи, за да може един обект от един application domain да се подаде като параметър на метод на обект от друг application domain "нашия" обект трябва да се сериализира и прати на другия application и там да се реконструира. За да стане това обекта трябва да бъде маркиран с [serializable] custom attribute или да имплементира ISerializable интерфейс. Локални обекти които не могат да бъдат сериализирани не могат да бъдат предавани като параметри на друга апликация .. тоест те не са remotable ...

имаш 2 начина да предадеш един обект на remote application:
1. by value: тоест копие на обекта се сериализира се праща на remote application като binary stream където се реконструира отново
2. by ref: тоест праща се reference към обекта на remote application-а, където от този ref се конструира proxy към нашия обект ... и channal-a по който текат messages остава отворен ... всяко извикване на метод на този обект генерира roundtrip между proxy/stub двойката ... така че с DataTable ... просто performance-a ще си разкаже играта ...

доколкото разбрах тебе те интересува втория начин ...

тука има едно обаче ...

начи DataTable наследява MarshalByValueObject който както става ясно от заглавието му не може да се предава by ref при remoting ... обаче това е направено с цел ... по принцип е лоша идея да се предават by ref големи обекти при remoting, защото по channel-a между proxy/stub двойката става прекалено голям трафик и следователно performance-a пада значително ...

по-принцип DataSet и DataTable са единствените обекти който наследяват ISerializable и могат да се ползват при remoting ама by value :(

такааа ... начи аз лично виждам два начина за процедиране от тук нататък -- my way or the hard way :)))))

1. the hard way: правиш си свой клас който наследява MarshalByRefObject и правиш copy/paste от сорсовете на DataTable там ... което лично на мене ми звучи като да те пуснат в ада и ти да си избереш най-големия огън и да се цопнеш в него :)))

2. my way: пращаш си DataTable by value, променяш си го и го връщаш на клиента като return value, при което той си сменя reference-a към него и готово ... ако не можеш да върнеш DataTable като return value, тогава го сериализираш в XML или в квото си решиш пращаш го като string на клиента, на сървъра го реконструираш в DataTable, работиш си върху него, пак го сериализираш на string, връщаш го на клиента като return value, клиента си го рекунструира на DataTable и всички са щастливи ... и не губиш performance :))))

нещо то сорта :

DataTable myMethod(DataTable dt);





XM TurboCT .. where comfort meets power

Цялата тема
ТемаАвторПубликувано
* Remoting vyprosche? БOИЛ   27.06.03 08:58
. * Re: Remoting vyprosche? шeф нa Coди Дeвня   27.06.03 19:19
. * Re: Remoting vyprosche? БOИЛ   30.06.03 08:48
. * Re: Remoting vyprosche? Fahrenheit   30.06.03 11:18
. * Re: Remoting vyprosche? шeф нa Coди Дeвня   30.06.03 11:23
. * Re: Remoting vyprosche? БOИЛ   30.06.03 14:10
. * Re: Remoting vyprosche? шeф нa Coди Дeвня   30.06.03 22:07
. * Re: Remoting vyprosche? Vroomfundel   02.07.03 17:14
. * Re: kym shef na sodi devnia novak   03.07.03 09:26
. * Re: kym shef na sodi devnia Vroomfundel   03.07.03 19:59
. * Web Services vs. Remoting TPECKATA   14.07.03 11:15
. * Re: Remoting vyprosche? didi   14.07.03 17:37
. * Re: Remoting vyprosche? Vroomfundel   15.07.03 16:00
. * Re: Remoting vyprosche? TPECKATA   23.07.03 00:21
. * Re: Remoting vyprosche? rosen   28.06.03 17:18
. * Re: Remoting vyprosche? БOИЛ   30.06.03 08:49
. * Re: Remoting vyprosche? Пporpaмиcт   01.08.03 14:58
. * Re: Remoting vyprosche? БOИЛ   03.09.03 20:47
. * Re: Remoting vyprosche? БOИЛ   03.09.03 20:38
. * Re: Remoting vyprosche? val   11.10.06 13:50
. * Re: Remoting vyprosche? val   11.10.06 16:25
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.