|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Приветствую! В C# новичок, надо сделать клиент=-серверное приложение, которое работает с БД Я думал, что надо сделать некого клиента, который стучится к серваку БД потом оказалось, что надо сделать трехзвенку: куча клиентов коннектятся к серверу. Тот в свою очередь шлет запросы на сервер БД и результат отправляет обратно клиентам... Вопрос: какие технологии использовать? куда копать, чтобы начать делать и раскручиваь тему? Может пример какой есть? Хотя бы пример сервера, который слушает порт и ожидает подключений клиентов И как можно в итоге отправить клиенту результат данных, который вернул сервак? В общем, если кто может подсказать, буду признателен!!! Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 20:23 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Народ, я бы уж как-то постыдился на ремоутинг ссылки давать :) P.S. WCF ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 20:34 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
МСУНарод, я бы уж как-то постыдился на ремоутинг ссылки давать :) да, зачем нам посредники !? надо сразу в Socket'ах делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 20:36 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
beg-in-erда, зачем нам посредники !? надо сразу в Socket'ах делать. На голубях тогда уж, запульнул с ноги голубя с вестью и ждёшь респонза. Главное, у соседского мальчуганья рогатки с прящами поотбирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 20:40 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
МСУbeg-in-erда, зачем нам посредники !? надо сразу в Socket'ах делать. На голубях тогда уж, запульнул с ноги голубя с вестью и ждёшь респонза. Главное, у соседского мальчуганья рогатки с прящами поотбирать. в некоторых системах голубь сразу же возвращает подтверждение о том, что он получил запрос, важно успеть увернуться ;-D ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 20:51 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
может и вправду на сокетах??? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 20:56 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
я как-то раньше такую байду делал на Java может оттуда "вспомнить"... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 21:03 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Galadriel75, сегодня, 20:23 [14264638 >...Я думал, что надо сделать некого клиента, который стучится к серваку БД ... Вам надо научиться работать с WCF. Посмотрите для начала здесь и здесь . Что не понятно - спрашивайте. На время забудте, что есть TCP порты. Вы будете работать с удаленными сервисами. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 21:17 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев>Galadriel75, сегодня, 20:23 [14264638 >...Я думал, что надо сделать некого клиента, который стучится к серваку БД ... Вам надо научиться работать с WCF. Посмотрите для начала здесь и здесь . Что не понятно - спрашивайте. На время забудте, что есть TCP порты. Вы будете работать с удаленными сервисами. С уважением, Владимир. спасибо! гляну!!! Только делаю то не себе - курсач студенту, а там условие - TCP/IP ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2013, 23:48 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75спасибо! гляну!!! Только делаю то не себе - курсач студенту, а там условие - TCP/IPВсе перечисленное работает по протоколу tcp/ip. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 08:21 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Antonariy, ага, а если его попросят написать сортировку он тоже напишет List.Sort? Боюсь такое объяснение не проканает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 10:49 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75ВМоисеев>Galadriel75, сегодня, 20:23 [14264638 >...Я думал, что надо сделать некого клиента, который стучится к серваку БД ... Вам надо научиться работать с WCF. Посмотрите для начала здесь и здесь . Что не понятно - спрашивайте. На время забудте, что есть TCP порты. Вы будете работать с удаленными сервисами. С уважением, Владимир. спасибо! гляну!!! Только делаю то не себе - курсач студенту, а там условие - TCP/IPИнтересно... курсач и трехзвенка... Это где так обучают и спрашивают? Просто интересно стало... Хорошее наверное заведение... Самое интересное какой студент выдет из него...? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:16 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Владимир СА, мертвый =)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:22 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Владимир САGaladriel75пропущено... спасибо! гляну!!! Только делаю то не себе - курсач студенту, а там условие - TCP/IPИнтересно... курсач и трехзвенка... Это где так обучают и спрашивают? Просто интересно стало... Хорошее наверное заведение... Самое интересное какой студент выдет из него...? Вот начало задания: Курсовой проект должен быть выполнен в архитектуре клиент сервер на языке Си шарп. Соединение между клиентами и сервером должно быть реализовано с использованием протокола TCP/IP. Запуск клиентского и сервернго приложения должен осуществляться без использования интегрированных сред разработки... И еще на поляхз бумажки зачем-то написали "Выполнить в консоле C#" Значит, как я понял, между СУБД и клиентом должна вырасти консольная прослойка, которая серваку будет слать запросы и результат отправлять клиентам... Скорее всего это так и надо делать, иначе если бы сделать банальное клиент-сервер, без прослоек, то тут все просто и прозрачно, а в задании упоминается о запуске серверного приложения вне среды разработки, значит все же речь идет о некоей примитивной трезвенке... А как ее реализовать не знаю, так как такое делал только на Java, да и то сильно упрощенно, без сериализаций... А тут C#... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:27 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75, ну вот WCf вам в руки. Он может хоститься в консоле, может работать по net TCP :) У вас будет 2 консоли - один "сервер" , другой "клиент". Я так понимаю БД вам не нужна, ну или возьмите Sqlite для пафоса. Но вообще задание для лабы имхо неоднозначное - можно делать 2 часа, а можно 2 недели... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:37 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
netivanGaladriel75, ну вот WCf вам в руки. Он может хоститься в консоле, может работать по net TCP :) У вас будет 2 консоли - один "сервер" , другой "клиент". Я так понимаю БД вам не нужна, ну или возьмите Sqlite для пафоса. Но вообще задание для лабы имхо неоднозначное - можно делать 2 часа, а можно 2 недели... вот эта неоднозначность и бесит порой... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:40 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75, значит сделайте как проще. Возьмите БД как xml файл и ищите в нем сотрудников по ФИО, сделайте 3 метода и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:41 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
netivanGaladriel75, значит сделайте как проще. Возьмите БД как xml файл и ищите в нем сотрудников по ФИО, сделайте 3 метода и все. не это не прокатит - надо сделать систему учета продаж - я ее или на SQLite или на mdb сделаю... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:43 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
netivanGaladriel75, ну вот WCf вам в руки. Он может хоститься в консоле, может работать по net TCP :) У вас будет 2 консоли - один "сервер" , другой "клиент". Я так понимаю БД вам не нужна, ну или возьмите Sqlite для пафоса. Но вообще задание для лабы имхо неоднозначное - можно делать 2 часа, а можно 2 недели... WCF - это сервис, я не уверен что это надо преподу... скорее всего банальный сокет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 11:44 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Так может вы не будете гадать, а у преподавателя спросите, что именно нужно? Потому что реализовывать руками через сокеты - это приличный гемморой. Который совершенно не нужен, ведь есть вполне себе WCF ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 12:24 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75 Ты бы сначала уяснил постановку задачи у студента... А то наделаешь, потом ему разгребать... Вообще они изучали WCF ? У меня был случай... Делал так же одному... Очень хорошо сделал... Но потом преподы сами стали спрашивать, а как ты это сделал, а тут как...? Все интересовались... Не промахнись... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 12:32 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Arm79Потому что реализовывать руками через сокеты - это приличный гемморой. схера ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 13:02 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75 Курсовой проект должен быть выполнен в архитектуре клиент сервер на языке Си шарп. Соединение между клиентами и сервером должно быть реализовано с использованием протокола TCP/IP. Запуск клиентского и сервернго приложения должен осуществляться без использования интегрированных сред разработки... Вообще-то тут трехзвенкой и не пахнет. https://ru.wikipedia.org/wiki/Клиент-сервер Клиент-сервер (англ. Client-server) — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением. А вот трехзвенка: ...Многоуровневая архитектура клиент-сервер — разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов. Частные случаи многоуровневой архитектуры: Трёхуровневая архитектура P.S. Лучше пусть препод уточнит, действительно ли имелась ввиду трехзвенка. А то нагородишь огородов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 13:07 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Изопропил, нужно вручную отслеживать границы пакета, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 13:24 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Владимир САGaladriel75 Ты бы сначала уяснил постановку задачи у студента... А то наделаешь, потом ему разгребать... Вообще они изучали WCF ? У меня был случай... Делал так же одному... Очень хорошо сделал... Но потом преподы сами стали спрашивать, а как ты это сделал, а тут как...? Все интересовались... Не промахнись... студент понятия не имеет что и как... да т побарабану ему скорее всего :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 13:33 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
только что пытался все уточнить - бесполезно... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 13:40 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75netivanGaladriel75, ну вот WCf вам в руки. Он может хоститься в консоле, может работать по net TCP :) У вас будет 2 консоли - один "сервер" , другой "клиент". Я так понимаю БД вам не нужна, ну или возьмите Sqlite для пафоса. Но вообще задание для лабы имхо неоднозначное - можно делать 2 часа, а можно 2 недели... вот эта неоднозначность и бесит порой... а с чего вы взяли, чот нужан трехзвенка? написано ж клиент-сервер. Вот и слепите две консоли, одна из них WCF сервис ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 13:50 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Мне кажется, что если за студентов выполнять задания - мир станет хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 13:57 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Алексей КМне кажется, что если за студентов выполнять задания - мир станет хуже. а если студенты сами будут делать все, мир станет лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 14:11 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
WinnipuhGaladriel75пропущено... вот эта неоднозначность и бесит порой... а с чего вы взяли, чот нужан трехзвенка? написано ж клиент-сервер. Вот и слепите две консоли, одна из них WCF сервис тоже вариант, только клиент - скорее всего не консоль а винформ... а как потом от сервака передать клиенту датасет, который вернет СУБД... непаханное поле для меня... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 14:12 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75Winnipuhпропущено... а с чего вы взяли, чот нужан трехзвенка? написано ж клиент-сервер. Вот и слепите две консоли, одна из них WCF сервис тоже вариант, только клиент - скорее всего не консоль а винформ... а как потом от сервака передать клиенту датасет, который вернет СУБД... непаханное поле для меня...Дак ты сам еще даже не представляешь себе двухзвенку...!? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 14:20 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75Алексей КМне кажется, что если за студентов выполнять задания - мир станет хуже. а если студенты сами будут делать все, мир станет лучше?Он будет как минимум не хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 14:37 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Алексей К, не занудничайте, помогать людям надо. Только уверез, что если студенту побарабану его завалят вопросами по этой лабе, особенно по WCF) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:03 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
netivanАлексей К, не занудничайте, помогать людям надо. Только уверез, что если студенту побарабану его завалят вопросами по этой лабе, особенно по WCF) сейчас попытаюсь на сокетах слепить клиента и сервера а вот как передать датасет??? (сериализация??) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:06 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75netivanАлексей К, не занудничайте, помогать людям надо. Только уверез, что если студенту побарабану его завалят вопросами по этой лабе, особенно по WCF) сейчас попытаюсь на сокетах слепить клиента и сервера а вот как передать датасет??? (сериализация??) ага.... на коленке на сокетах датасет передавать написали же: WCF ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:09 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
WinnipuhGaladriel75пропущено... сейчас попытаюсь на сокетах слепить клиента и сервера а вот как передать датасет??? (сериализация??) ага.... на коленке на сокетах датасет передавать написали же: WCF так он же сервис? или лучше вскопать все же его и не мучить мозг свой? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:11 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ай ладно - покопаю, авось прокатит! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:12 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75, он же технология коммукации :) в МСДН простой пример был. Вам зачем ДатаСет нужен,А? вам нужен контракт данных с результатом обработки уже) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:14 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Galadriel75, сегодня, 14:12 [14267742] >...тоже вариант, только клиент ... Преподаватели аккуратно поставили задачу, на лекции ходить надо. У Microsoft в тех. док. подробно расписан процесс создания CalculatorService, но транспорт - HTTP. Так что читай и применяй. С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:24 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев>Galadriel75, сегодня, 14:12 [14267742] >...тоже вариант, только клиент ... Преподаватели аккуратно поставили задачу, на лекции ходить надо. У Microsoft в тех. док. подробно расписан процесс создания CalculatorService, но транспорт - HTTP. Так что читай и применяй. С уважением, Владимир мне на лекции ходить НЕ НАДО - я не себе делаю, а халтурку... Делать то надо скорее всего через сокет, я бы с радостью сделал как тут советуют, но ниточку уже нашел, теперь тяну и весь клубок распутываю... и второе - и с тем и с тем надо разбираться и сокеты скорее всего ближе к теме... так что один хрен как ваять, абы отдать да чтоб не пудрили мне студенты извилины :)... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:36 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Алексей КМне кажется, что если за студентов выполнять задания - мир станет хуже. У нас получается так: делаем за того, кто собирается делать за студента :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:42 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
МСУАлексей КМне кажется, что если за студентов выполнять задания - мир станет хуже. У нас получается так: делаем за того, кто собирается делать за студента :) Ну дык, российская модель ведения бизнеса: выигрываешь тендер, нанимаешь субподрядчиков... В нашем случае и нанимать не надо :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:50 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Galadriel75, сегодня, 16:36 [14269083] >мне на лекции ходить НЕ НАДО Извините, не хотел Вас обидеть. Говоря про лекции, имел ввиду не Вас, а того, кому... Насчет сокетов, будьте осторожнее, если Microsoft, C# и клиент-сервер, то очень может быть - WCF! Это их фундаментальная технология. В этих условиях легко и два балла заработать. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:53 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеевно транспорт - HTTP.Ну так HTTP тоже поверх TCP/IP работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 16:59 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
МСУАлексей КМне кажется, что если за студентов выполнять задания - мир станет хуже. У нас получается так: делаем за того, кто собирается делать за студента :) и самое забавное то, что ни мы здесь, ни тот, кто делает за, ни тот самый студент - ни кто не в курсе, а что же надо сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 17:00 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Antonariy, так можно привязку изменить на netTcp, что рекомендуется для интранет. НО я думаю, что хотят видеть Socket.Read и тд. Я сомневаюсь, что преподы знают WCF. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 17:01 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Подозреваю, не в курсе и преподаватель. Сам обладает опытом турбопаскаля, а о сишарпе и т.д. знает лишь по книжкам. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 17:02 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
да вот же вся лаба решена http://msdn.microsoft.com/en-us/library/bb397809(v=vs.90).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 17:23 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Автор вот это 14267222 так и не прокомментировал. Ну да ладно, какая в принципе разница. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 17:45 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
netivanда вот же вся лаба решена http://msdn.microsoft.com/en-us/library/bb397809(v=vs.90).aspx How to: Create a Socket Listener or how to create a Laba for lazy and stupid student ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 18:20 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Winnipuhnetivanда вот же вся лаба решена http://msdn.microsoft.com/en-us/library/bb397809(v=vs.90).aspx How to: Create a Socket Listener or how to create a Laba for lazy and stupid student It is the simplest ... I need a multithreading Server :) And I have to implement one... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 18:45 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75Winnipuhпропущено... How to: Create a Socket Listener or how to create a Laba for lazy and stupid student It is the simplest ... I need a multithreading Server :) And I have to implement one... Не? http://msdn.microsoft.com/en-us/library/system.net.sockets.tcplistener.beginaccepttcpclient.aspx 10784492 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 18:59 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75, насчет мультипоточности тут не скажу, не знаю как с сокетами это будет. Но я так понимаю листнер прочитал сообщение, отдал его в пул и дальше слушает. ЗЫ мля, ну в Wcf это решается 1 атрибутом)) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 19:19 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев>Galadriel75, сегодня, 16:36 [14269083] >мне на лекции ходить НЕ НАДО Извините, не хотел Вас обидеть. Говоря про лекции, имел ввиду не Вас, а того, кому... Насчет сокетов, будьте осторожнее, если Microsoft, C# и клиент-сервер, то очень может быть - WCF! Это их фундаментальная технология. В этих условиях легко и два балла заработать. С уважением, Владимир. звонил по скайпу своему другу - он сказал - лучше через сокеты иначе ни одна сатана не поймет "что это такое" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 19:44 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Galadriel75, сегодня, 19:44 [14269965] >звонил по скайпу своему другу ... Увы. Как же я отстал от современных вузовских компьютерных технологий... С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 20:50 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
netivanGaladriel75, насчет мультипоточности тут не скажу, не знаю как с сокетами это будет. Но я так понимаю листнер прочитал сообщение, отдал его в пул и дальше слушает. ЗЫ мля, ну в Wcf это решается 1 атрибутом)) зато столько допкода надо создать. попробывал я тут его. что то как то он очень странно сделан. там контракт, тут создай, сдесь напиши . ему ещё и IIS подавай. и что то не быстро. согласен, не повар в этих делах, но как то не впечатлило. а в сокетах плюнул асинхронно в метод и слушай себе дальше. быстро , шустро , на ура. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 21:10 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
beg-in-er, Мне кажется, реализация на сокетах будет раза в 2 длиннее, чем WCF сервис) IIS нужен обязательно, только если используется интеграция с ASP .NET, если не путаю. А так: http://msdn.microsoft.com/ru-ru/library/ms730158.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 21:19 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Lelouchbeg-in-er, Мне кажется, реализация на сокетах будет раза в 2 длиннее, чем WCF сервис) не знаю , как насчёт короче, но даже базовый WCF сервис, который описан на мсдн , состоящий из 4 методов, генерит туеву хучу автокода. хотя ,да лапками, по идее, меньше писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 22:21 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
beg-in-erLelouchbeg-in-er, Мне кажется, реализация на сокетах будет раза в 2 длиннее, чем WCF сервис) не знаю , как насчёт короче, но даже базовый WCF сервис, который описан на мсдн , состоящий из 4 методов, генерит туеву хучу автокода. хотя ,да лапками, по идее, меньше писать. почти сделал через сокеты ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2013, 22:35 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
beg-in-erLelouchbeg-in-er, Мне кажется, реализация на сокетах будет раза в 2 длиннее, чем WCF сервис) не знаю , как насчёт короче, но даже базовый WCF сервис, который описан на мсдн , состоящий из 4 методов, генерит туеву хучу автокода. хотя ,да лапками, по идее, меньше писать. Hello World для WCF будет размером: Описание контракта службы: 5 строчек Реализация службы (консоль): 5 строчек Реализация клиента (консоль): 5 строчек Итого: 15 строчек Получается полноценная система с возможностью обслуживания одновременно нескольких клиентов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 00:05 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Sergey TSVИтого: 15 строчек мы не ищем лёгких путей ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 00:23 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ИзопропилSergey TSVИтого: 15 строчек мы не ищем лёгких путейПуть через сокеты легче? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 06:13 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Простейшая реализация на WCF Проект ContractWCF Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Проект ServerWcf Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Проект ClientWcf Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 09:36 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Sergey TSVHello World для WCF будет размером: .... Итого: 15 строчек Получается полноценная система с возможностью обслуживания одновременно нескольких клиентов. ну я как то писал дубовый модуль содержащий только TCP+Serialization. после этого , им можно было пользоваться как и с WPF. оно делало почти тоже самое. только как то понятнее и нагляднее. в клиенте видел кто отправляет, в сервере видел как принимает. никаких посредников, только хардкор ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 10:12 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>beg-in-er,сегодня, 10:12 [14271638] >...оно делало почти тоже самое. только как то понятнее и нагляднее. Позволю с Вами не согласиться. Но предварительно скажу спасибо, большое спасибо, за наглядный пример. Итак, WCF делает удаленный сервис похожим на локальный класс. Локально имеем интерфейс (операционный (функциональный) контракт) и локально же строим прокси - класс, реализующий интерфейс. Локально показываем как работать с методами сервиса public DataTable GetTable() { return Channel.GetTable(); } и работаем с прокси, как с обычным классом. Пожалуйста, если возможно - код в студию. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 12:46 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Извините за неточность, спасибо конечно - Sergey TS, право же, он это заслужил. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 12:48 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Sergey TSVПростейшая реализация на WCF Проект ContractWCF Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Проект ServerWcf Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
Проект ClientWcf Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33.
Спасибо большущее!!! Сейчас буду в теме разбираться... столько всего......... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 13:31 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Sergey TSVПростейшая реализация на WCF Проект ContractWCF Код: c# 1. 2. 3. 4. 5. 6.
Sergey TSV, а вы не могли бы солюшен зипованный приложить? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 16:59 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
M234Sergey TSV, а вы не могли бы солюшен зипованный приложить? Спасибо. Пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2013, 19:46 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Sergey TSV, вчера, 19:46 [14275683] У меня будет большая просьба к Вам. Понимаю, что лучшее враг хорошего, но... методы удаленного сервиса обычно имеют конечное, далеко не нулевое, время исполнения. При задержке исполнения >4 сек пользователю становиться не комфортно работать - возникает ощущение чего то сломалось. Поэтому для обкатки этой ситуации предлагаю ввести в код метода сервиса задержку >5 сек, а в прокси класс - и асинхронную реализацию метода. И показать, что в этом случае UI процесс продолжает работу. Сие конечно - следующий этап, но думаю - надо, и надеюсь. что дополнительный код не сильно осмыслительно исказит Ваше решение. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2013, 08:45 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев, а зачем код, при генерации клиента укажите создать асинхронные методы... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2013, 21:54 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Lelouch, вчера, 21:54 [14277989] >а зачем код, при генерации клиента укажите создать асинхронные методы... Извините, не понял. Если можно, поподробнее пожалуйста. Код клиентского проекта приведен. Что и в каких свойствах проекта VS 2012 клиентского приложения надо задавать для автоматического формирования в прокси классе асинхронных методов? С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 02:46 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев, проект клиента -> Service References -> Configure Service Reference... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 11:23 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Lelouch, сегодня, 11:23 [14278662] >проект клиента -> Service References -> Configure Service Reference... Извините, ещё один вопрос.Тема для меня больная. Решение и его проекты заданы. В проекте клиента хочу определить методы прокси. Что имею - файл прилагаю. Что должно быть задано в полях диалоговых форм? С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 21:38 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев, Не увидел код Sergey TSV, он не использовал генерацию прокси ) Сделайте сервис по этому гайду: http://msdn.microsoft.com/ru-ru/library/bb386386.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2013, 21:46 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Lelouch правильно подсказал решение. Для того чтобы служба могла дать информацию о своих метаданных, необходимо добавить в нее конечную точку MEX, т.е. немного изменить код службы. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
После этого запустить службу, сформировать автоматически прокси-класс с асинхронными методами (например, создать асинхронные операции для VS2012), посмотреть сформированные методы и продублировать их в вышеприведенном примере (я для этого наследую интерфейс контракта службы), т. е. методы Код: c# 1. 2.
Это, естественно, только один из множества возможных методов реализации асинхронных операций. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2013, 17:40 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>Sergey TSV, Lelouch СПА-СИ-БО!!! С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 00:41 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Sergey TSVLelouch правильно подсказал решение. Для того чтобы служба могла дать информацию о своих метаданных, необходимо добавить в нее конечную точку MEX, т.е. немного изменить код службы. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
После этого запустить службу, сформировать автоматически прокси-класс с асинхронными методами (например, создать асинхронные операции для VS2012), посмотреть сформированные методы и продублировать их в вышеприведенном примере (я для этого наследую интерфейс контракта службы), т. е. методы Код: c# 1. 2.
Это, естественно, только один из множества возможных методов реализации асинхронных операций. Гораздо проще и внятней c task&await ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:00 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, Generate task-based operations недоступно для FW4.0 к сожалению. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:12 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, Generate task-based operations недоступно для FW4.0 к сожалению. Генерировать прокси для своих сервисов - самый дубовый вариант. Это можно спокойно делать с помощью ChannelFactory . ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:47 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Async Targeting Pack для await в net 4.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:50 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, а что мешает сгенерировать прокси и использовать ChannelFactory? Как такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? P.S. Самый дубовый вариант это писать руками то, что за тебя может написать среда. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 10:53 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, а что мешает сгенерировать прокси и использовать ChannelFactory? Как такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? P.S. Самый дубовый вариант это писать руками то, что за тебя может написать среда. 1.Среда генерит только никому не нужный мусор 2. При изменениях нужно вручную обновлять reference, когда их кол-во переваливает за десяток, такое пустопорожнее занятие становится весьма утомительным 3. ChannelFactory кэширует прокси и можно добиться увеличения производительности и тд ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:09 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
И еще не зло замечу, работать с инструментом и не знать всех возможностей - это уровень MCУ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:12 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, 1) Правильно, только хардкод, только руками. 2) Десяток? Зачем? что мешает объеденить их на сервере в 1 контракт? Как это сделано например вот тут: http://microsoftnlayerapp.codeplex.com/ авторИ еще не зло замечу, работать с инструментом и не знать всех возможностей - это уровень MCУ 3) При генерации прокси также создается и ChannelFactory если что. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:21 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, и вы не ответили на вопрос: авторКак такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? SeVaAsync Targeting Pack для await в net 4.0 И что, а Taskи руками будете описывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:23 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Lelouch, 2) Поправка: не создается, но может быть использована вместе с созданым на клиенте интерфейсом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:32 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, 1) Правильно, только хардкод, только руками. 2) Десяток? Зачем? что мешает объеденить их на сервере в 1 контракт? Как это сделано например вот тут: http://microsoftnlayerapp.codeplex.com/ авторИ еще не зло замечу, работать с инструментом и не знать всех возможностей - это уровень MCУ 3) При генерации прокси также создается и ChannelFactory если что. 1. Ты когда нибудь смотрел, что генериться в результате? Не мешало бы посмотреть, идет тупое дублирование кода и больше ничего. 2. Это на уровне советов mcy устраивать из всего одну большую помойку. Были и есть проекты, где этих сервисов сотни. Есть достаточно большая часть, которая используется совершенно в разных проектах одновременно. Плюс подобные сервисы создаются с помощью кодогенераторов, а потом билдятся на автомате ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 11:58 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
LelouchSeVa, и вы не ответили на вопрос: авторКак такое применение ChannelFactory позволит легко создать асинхронные вызовы (На основе Task или Async, не важно)? SeVaAsync Targeting Pack для await в net 4.0 И что, а Taskи руками будете описывать? Контракт должен быть с Task/Task<T>. Об этом можно прочитать в разделе what's new net 4.5. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 12:00 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, 1) Смотрел естественно. Там генерится нормальный интрефейс с асинхронными методами, который можно использовать в ChannelFactory. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 12:13 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVa, При чем тут 4.5, я про 4.0 говорил. Вопросов про 4.5 изначально и не было. Та ссылка, что вы дали, показывает, как в 4.0 сделать доступным async/await, есть ли возможность в 4.0 использовать в контракте для ChannelFactory Task? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2013, 12:15 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>SeVa, вчера, 10:00 [14283368] >Гораздо проще и внятней c task&await Вы имеете ввиду нечто подобное ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
С уважением, Владимир ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 08:48 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
>ВМоисеев,сегодня, 08:48 [14285739] Извините, ошибка, надо так: . . . while (!tdt.IsCompleted ) { //-- Делаем что-нибудь видимое, двигаем ProgressBar к примеру . . . Thread.Sleep(500); } ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 08:54 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Lelouchесть ли возможность в 4.0 использовать в контракте для ChannelFactory Task?Да, если самому написать генератор. Регуляркой распарсить результат svcutil.exe. Сгенерить нормального клиента с тасками, автозакрытием соединения и прочим. Обернуть всё это в T4 Text Template для удобства. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 09:07 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев Коллеги, требуется помощь. Крайне нужен пример кода работы с контрактами сервиса из приложения Modern UI (Win 8) с NetTcpBinding. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 21:07 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеевВМоисеев Коллеги, требуется помощь. Крайне нужен пример кода работы с контрактами сервиса из приложения Modern UI (Win 8) с NetTcpBinding. С уважением, Владимир. походу технологии приведут к тому, что современное программирование опять станет доступно только избраным, как было тогда, когда все начиналось - перфоленты, перфокарты, персоналок не было... Потом появились просто языки программирования, которые легко было изучить и программировать... Сейчас же сплошные технологии, платформы, иерархии классов, которые надо без конца изучать и изучать... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 22:14 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75походу технологии приведут к тому, что современное программирование опять станет доступно только избраным, как было тогда, когда все начиналось - перфоленты, перфокарты, персоналок не было... Потом появились просто языки программирования, которые легко было изучить и программировать... Сейчас же сплошные технологии, платформы, иерархии классов, которые надо без конца изучать и изучать... всё придёт к тому , что будет создан универсальный....язык, не неязык. эсперанто в программировании тоже не прокатит компилятор. который будет жрать всё подрят и переваривать в то что нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2013, 22:50 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
beg-in-erGaladriel75походу технологии приведут к тому, что современное программирование опять станет доступно только избраным, как было тогда, когда все начиналось - перфоленты, перфокарты, персоналок не было... Потом появились просто языки программирования, которые легко было изучить и программировать... Сейчас же сплошные технологии, платформы, иерархии классов, которые надо без конца изучать и изучать... всё придёт к тому , что будет создан универсальный....язык, не неязык. эсперанто в программировании тоже не прокатит компилятор. который будет жрать всё подрят и переваривать в то что нужно ну пожалуй было бы очень неплохо, так как мне нравятся многие конструкции в Delphi в C++ и в C#! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 00:46 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
в самом деле почему до сих пор не придумали примерно того же что и для DHTML - там же по сути можно на одной странице размещать до кучи разных скриптов.... а вот если бы так можно было бы и в ЯВУ, только нужно будет утрясти все вопросы с пространством имен,и идеологией синтаксиса... вот например <cpp> int i; </cpp> <Delphi> for i:= 0 to 300 do begin <asm> Mov Eax,i Shl Eax,4 Mov Ecx,Eax Lea Di,Data .... </asm> end </Delphi> ... Не... как то не нравится мне такое - утопически и тупиково смотрится - идеологии нельзя объединить... </Delphi> ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 00:54 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Алексей КLelouchесть ли возможность в 4.0 использовать в контракте для ChannelFactory Task?Да, если самому написать генератор. Регуляркой распарсить результат svcutil.exe. Сгенерить нормального клиента с тасками, автозакрытием соединения и прочим. Обернуть всё это в T4 Text Template для удобства. Все придумано до нас. TaskWsdlImportExtension . исходники ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 00:58 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеев>SeVa, вчера, 10:00 [14283368] >Гораздо проще и внятней c task&await Вы имеете ввиду нечто подобное ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
С уважением, Владимир Все проще Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 01:01 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ВМоисеевВМоисеев Коллеги, требуется помощь. Крайне нужен пример кода работы с контрактами сервиса из приложения Modern UI (Win 8) с NetTcpBinding. С уважением, Владимир. C win8 не работал сам, но из того, что бегло читал необходимо: 1. Создать сервис как обычно, затем опубликовать его на удаленный хост(в win8 eго запустить не получится) 2. Генерить прокси с опцией Task based(это должно быть по умолчанию) 3. winrt полностью асинхронен и все вызовы тоже, посему если сервис реализует котракт [ServiceContract] public interface ItestService { [OperationContract] List<string> GetData(); } то в клиенте GetData будет с суффиксом Async var client = new TestClient(); var servicedata = client.GetDataAsync().Result; ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 01:27 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVaАлексей Кпропущено... Да, если самому написать генератор. Регуляркой распарсить результат svcutil.exe. Сгенерить нормального клиента с тасками, автозакрытием соединения и прочим. Обернуть всё это в T4 Text Template для удобства. Все придумано до нас. TaskWsdlImportExtension . исходники Видел, не понравилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 06:04 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
SeVaХотя, может и есть смысл сделать по-научному. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 08:02 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
off: очередные неумелые наезды на orm, приглашаются все :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2013, 09:34 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75, можно выложить код того, что получилось? сервер-клиент и сериализация/десериализация ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2014, 01:14 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
arCHi_1887, можно. я сегодня вечером с работы приду, поищу исходники, выложу... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2014, 17:11 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Galadriel75arCHi_1887, можно. я сегодня вечером с работы приду, поищу исходники, выложу... все еще не могу тот исходник найти... постараюсь найти и выложить ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2014, 12:49 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Строю 3-х звенку на TCP/IP протоколе. Сервер слушает определённый порт от клиентов и отправляет ответы, ну всё как обычно. Но у меня возникла проблема, как серверу посылать команды клиенту по одному порту. Ведь клиент только отправляет команды, а не слушает порт. В принципе понятно, что можно после отправки любой команды включать Receive, но если клиент снова отправляет запрос на сервер, как прервать EndReceive(), что он не перехватил ответ от сервер на запрос. Посоветуй что-нибудь, или я пошёл не по правильному пути. Раньше у меня было на стороне клиента Accept по другому порту, но я думаю это не правильно. Получается на стороне клиента сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 13:11 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Евгений_leaСтрою 3-х звенку на TCP/IP протоколе.Евгений_leaПосоветуй что-нибудь, или я пошёл не по правильному пути.Вероятно, что лучше было бы использовать что-то более высокоуровневое, например WCF. Евгений_leaНо у меня возникла проблема, как серверу посылать команды клиенту по одному порту.Задача сомнительной нужности. Но если действительно этого хочется, то можно перейти на WCF и использовать его возможности . ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 13:19 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
У меня WinForms. Документооборот по локальной сети предприятия. Простой сервер с асинхронными командами. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 13:28 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Евгений_leaУ меня WinForms.Это не имеет никакого значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 13:43 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Алексей К возможности . Для меня это ново, надо изучать. К тому же надо весь сервер переписывать с клиентом, очень много, да документооборот в работе. Все наверное будет сложнее переделать. Спасибо за Ваш вариант. Пока буду искать более подходящий выход или использовать два порта, если нет другого выхода. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:04 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Евгений_leaСтрою 3-х звенку на TCP/IP протоколе. . А что не на Ethernet или IEEE 802.11? Переходи на wcf! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:22 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ЕвгенийВ, Спасибо, буду пытаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2016, 14:34 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Евгений_leaиспользовать два портаЭто вообще не проблема. Если в твоей ситуации так проще, то это решение вполне имеет право на жизнь. Евгений_leaесли нет другого выхода.Можно, традиционно, устроить опрос сервера с клиента по таймеру. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2016, 11:51 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
ЕвгенийВEthernet или IEEE 802.11 Издеваетесь над новичком? Я так думаю, что я бы решал эту задачу Евгений_leaРаньше у меня было на стороне клиента Accept по другому порту, но я думаю это не правильно. По другому - не правильно. Правильно - по тому же. Что мешает Вам сделать всех клиентов серверами? Наверное мне бы мешало, что клиенты могут не работать в то время, когда сервер посылает им запрос. Однако в WCF есть способ обмена через очереди. Я сам их не использовал, проcто нужды не было, и ни чем практически помочь не могу, но в Вашей проблеме это может быть решением. https://msdn.microsoft.com/ru-ru/library/ms789048(v=vs.110).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2016, 19:28 |
|
C# трехзвенка
|
|||
---|---|---|---|
#18+
Cat2Что мешает Вам сделать всех клиентов серверами? обычно NAT мешает. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2016, 22:26 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1400484]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
142ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 243ms |
0 / 0 |