powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# трехзвенка
25 сообщений из 125, страница 5 из 5
C# трехзвенка
    #38255846
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевВМоисеев
Коллеги, требуется помощь.
Крайне нужен пример кода работы с контрактами сервиса из приложения Modern UI (Win 8) с NetTcpBinding.

С уважением, Владимир.


походу технологии приведут к тому, что современное программирование опять станет доступно только избраным, как было тогда, когда все начиналось - перфоленты, перфокарты, персоналок не было... Потом появились просто языки программирования, которые легко было изучить и программировать... Сейчас же сплошные технологии, платформы, иерархии классов, которые надо без конца изучать и изучать...
...
Рейтинг: 0 / 0
C# трехзвенка
    #38255876
beg-in-er
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galadriel75походу технологии приведут к тому, что современное программирование опять станет доступно только избраным, как было тогда, когда все начиналось - перфоленты, перфокарты, персоналок не было... Потом появились просто языки программирования, которые легко было изучить и программировать... Сейчас же сплошные технологии, платформы, иерархии классов, которые надо без конца изучать и изучать...

всё придёт к тому , что будет создан универсальный....язык, не неязык. эсперанто в программировании тоже не прокатит компилятор. который будет жрать всё подрят и переваривать в то что нужно
...
Рейтинг: 0 / 0
C# трехзвенка
    #38255951
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beg-in-erGaladriel75походу технологии приведут к тому, что современное программирование опять станет доступно только избраным, как было тогда, когда все начиналось - перфоленты, перфокарты, персоналок не было... Потом появились просто языки программирования, которые легко было изучить и программировать... Сейчас же сплошные технологии, платформы, иерархии классов, которые надо без конца изучать и изучать...

всё придёт к тому , что будет создан универсальный....язык, не неязык. эсперанто в программировании тоже не прокатит компилятор. который будет жрать всё подрят и переваривать в то что нужно
ну пожалуй было бы очень неплохо, так как мне нравятся многие конструкции в Delphi в C++ и в C#!
...
Рейтинг: 0 / 0
C# трехзвенка
    #38255952
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в самом деле почему до сих пор не придумали примерно того же что и для 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>
...
Рейтинг: 0 / 0
C# трехзвенка
    #38255956
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КLelouchесть ли возможность в 4.0 использовать в контракте для ChannelFactory Task?Да, если самому написать генератор. Регуляркой распарсить результат svcutil.exe. Сгенерить нормального клиента с тасками, автозакрытием соединения и прочим. Обернуть всё это в T4 Text Template для удобства.

Все придумано до нас. TaskWsdlImportExtension . исходники
...
Рейтинг: 0 / 0
C# трехзвенка
    #38255960
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев>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.
namespace ClientWcf {
   public class MyServiceClient : ClientBase<IMyContract>, IMyContract {
      public MyServiceClient(Binding binding, EndpointAddress endpointAddress) : base(binding, endpointAddress) { }
      public DataTable GetTable() {
         return Channel.GetTable();
      }
   }

  class Program {
     MyServiceClient client;
     
     public Program() {
        client = new MyServiceClient(new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:8523"));
     } 
     async Task<DataTable> tGetTable() {
         this.Info=Info;
         Task<DataTable> tdt = new Task<DataTable>(mtd_Запрос);
         tdt.Start();
         await tdt;
         return tdt.Result;
      }
    DataTable mtd_Запрос(){ return client.GetTable();}

    static void Main(string[] args) {
       Program oPrg = new Program();
       Task<byte[]> tdt = oPrg.tGetTable();
       //tdt.Wait();
       while (!xtb.IsCompleted ) {
          //-- Делаем что-нибудь видимое, двигаем ProgressBar к примеру
          . . .
          Thread.Sleep(500);
       }

       DataTable table = tdt.Result;
       foreach (DataRow row in table.Rows)
       Console.WriteLine(row["surname"]);
    }

      Console.ReadKey();
    }
  }
}
но этот вариант не работает в Moder UI (Win 8).

С уважением, Владимир

Все проще
Код: c#
1.
2.
3.
4.
5.
 
       var table = await oPrg.tGetTable();

       foreach (DataRow row in table.Rows)
       Console.WriteLine(row["surname"]);
...
Рейтинг: 0 / 0
C# трехзвенка
    #38255972
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеевВМоисеев
Коллеги, требуется помощь.
Крайне нужен пример кода работы с контрактами сервиса из приложения 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;
...
Рейтинг: 0 / 0
C# трехзвенка
    #38256003
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaАлексей Кпропущено...
Да, если самому написать генератор. Регуляркой распарсить результат svcutil.exe. Сгенерить нормального клиента с тасками, автозакрытием соединения и прочим. Обернуть всё это в T4 Text Template для удобства.

Все придумано до нас. TaskWsdlImportExtension . исходники Видел, не понравилось.
...
Рейтинг: 0 / 0
C# трехзвенка
    #38256020
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaХотя, может и есть смысл сделать по-научному. :-)
...
Рейтинг: 0 / 0
C# трехзвенка
    #38256093
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
off: очередные неумелые наезды на orm, приглашаются все :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
C# трехзвенка
    #38676775
arCHi_1887
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Galadriel75,

можно выложить код того, что получилось? сервер-клиент и сериализация/десериализация
...
Рейтинг: 0 / 0
C# трехзвенка
    #38690863
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arCHi_1887, можно. я сегодня вечером с работы приду, поищу исходники, выложу...
...
Рейтинг: 0 / 0
C# трехзвенка
    #38710731
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galadriel75arCHi_1887, можно. я сегодня вечером с работы приду, поищу исходники, выложу...
все еще не могу тот исходник найти... постараюсь найти и выложить
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
C# трехзвенка
    #39265442
Евгений_lea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Строю 3-х звенку на TCP/IP протоколе. Сервер слушает определённый порт от клиентов и отправляет ответы, ну всё как обычно. Но у меня возникла проблема, как серверу посылать команды клиенту по одному порту. Ведь клиент только отправляет команды, а не слушает порт. В принципе понятно, что можно после отправки любой команды включать Receive, но если клиент снова отправляет запрос на сервер, как прервать EndReceive(), что он не перехватил ответ от сервер на запрос.

Посоветуй что-нибудь, или я пошёл не по правильному пути. Раньше у меня было на стороне клиента Accept по другому порту, но я думаю это не правильно. Получается на стороне клиента сервер.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39265444
Евгений_lea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
За ранее спасибо.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39265449
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_leaСтрою 3-х звенку на TCP/IP протоколе.Евгений_leaПосоветуй что-нибудь, или я пошёл не по правильному пути.Вероятно, что лучше было бы использовать что-то более высокоуровневое, например WCF.
Евгений_leaНо у меня возникла проблема, как серверу посылать команды клиенту по одному порту.Задача сомнительной нужности. Но если действительно этого хочется, то можно перейти на WCF и использовать его возможности .
...
Рейтинг: 0 / 0
C# трехзвенка
    #39265460
Евгений_lea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня WinForms. Документооборот по локальной сети предприятия. Простой сервер с асинхронными командами.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39265473
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_leaУ меня WinForms.Это не имеет никакого значения.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39265498
Евгений_lea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей К возможности .
Для меня это ново, надо изучать. К тому же надо весь сервер переписывать с клиентом, очень много, да документооборот в работе. Все наверное будет сложнее переделать.
Спасибо за Ваш вариант.
Пока буду искать более подходящий выход или использовать два порта, если нет другого выхода.

Спасибо.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39265521
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_leaСтрою 3-х звенку на TCP/IP протоколе. .
А что не на Ethernet или IEEE 802.11?
Переходи на wcf!
...
Рейтинг: 0 / 0
C# трехзвенка
    #39265539
Евгений_lea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕвгенийВ,

Спасибо, буду пытаться.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39266222
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений_leaиспользовать два портаЭто вообще не проблема. Если в твоей ситуации так проще, то это решение вполне имеет право на жизнь.
Евгений_leaесли нет другого выхода.Можно, традиционно, устроить опрос сервера с клиента по таймеру.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39266684
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ЕвгенийВEthernet или IEEE 802.11
Издеваетесь над новичком?


Я так думаю, что я бы решал эту задачу

Евгений_leaРаньше у меня было на стороне клиента Accept по другому порту, но я думаю это не правильно.
По другому - не правильно. Правильно - по тому же.
Что мешает Вам сделать всех клиентов серверами?
Наверное мне бы мешало, что клиенты могут не работать в то время, когда сервер посылает им запрос.

Однако в WCF есть способ обмена через очереди.

Я сам их не использовал, проcто нужды не было, и ни чем практически помочь не могу, но в Вашей проблеме это может быть решением.

https://msdn.microsoft.com/ru-ru/library/ms789048(v=vs.110).aspx
...
Рейтинг: 0 / 0
C# трехзвенка
    #39266723
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Что мешает Вам сделать всех клиентов серверами?
обычно NAT мешает.
...
Рейтинг: 0 / 0
C# трехзвенка
    #39266775
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ИзопропилCat2Что мешает Вам сделать всех клиентов серверами?
обычно NAT мешает.

Не все работают через Интернет
...
Рейтинг: 0 / 0
25 сообщений из 125, страница 5 из 5
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / C# трехзвенка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]