Форум программистов, компьютерный форум, киберфорум
C#: Веб-сервисы и WCF
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
1

Пример обмена данными между приложениями с использованием WCF

15.04.2017, 08:39. Показов 2318. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем здравствуйте.
Нужен простой пример по использованию WCF.
1. Есть Windows Forms с таймером, в цикле которого 1 раз в секунду "раздаётся" с использованием технологии WCF информация в виде структуры данных
C#
1
2
3
4
5
6
7
8
        struct StrCurrData
        {
            public DateTime  dt;
            public float v1;
            public float v2;
            public float v3;
        }
        StrCurrData curr;
экземпляр curr описанной структуры в том же цикле таймера (перед "раздачей") инициализируется:
curr.dt текущим датой-временем компьютера, на котором запущено приложение
curr.v1, curr.v2, curr.v3 - одним и тем же вещественным числом , например 12.35;
2. Есть другое (принимающее) приложение Windows Forms с таймером, в цикле которого 1 раз в секунду пытаемся считать информацию из описанной выше структуры и отобразить эту информацию в метках на своей форме.
3. Приложений принимающих данные может быть несколько.
4. Никаких запросов на соединение не нужно (аналог передачи по UDP). Запуск и останов как раздающего приложения, так и принимающих приложений не должен вызывать никаких исключений типа "соединение не установлено", "соединение разорвано" и т.п..
5. Передающее и принимающее приложения должны находится в различных решениях (у меня есть пример, где в одном решении собран и клиент и сервер и контракт, как всё это разделить по двум разным решениям не знаю, к тому же в этом примере передаётся текст (мне нужно передавать структуру данных)).

Не по теме:

Не употребляю терминов "клиент" и "сервер" из-за непонимания, почему раздающее приложение называют клиентом, а принимающие - серверами. Логичнее было бы совсем наоборот.

0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2017, 08:39
Ответы с готовыми решениями:

Пример обмена данными между приложениями с использованием .net remoting
Всем здравствуйте. Есть два приложения WindowsForms одно посылает в порт массив байт определённой...

Реализация обмена данными между серверным и клиентским приложениями
Подскажите правильный и простой (насколько возможно) способ отправления данных и запроса метода от...

Обмен данными между приложениями
Здравствуйте Нужна помощь Нужна программа которая будет брать некие данные из одной программы и...

Обмен данными между приложениями
Добрый день! Есть 2 моих отдельных друг от друга приложения, нужно из одного отправить строку в...

3
4 / 4 / 2
Регистрация: 07.10.2015
Сообщений: 43
19.04.2017, 13:26 2
Вот я делал только для класса:
Мой класс:
C#
1
2
3
4
5
6
7
8
9
[DataContract]
    public class FilePart
    {
        [DataMember]
        public int CurrentPart { get; set; }
        [DataMember]
        public string FileName { get; set; }
       ***
    }
Код заполняющий экземпляр класса и предающий экземпляр сервису (тоесть клиент):
C#
1
2
3
4
5
6
7
UploadFilesService.IService1 servis = new UploadFilesService.Service1Client();
FilePart fPart = new FilePart();
                    fPart.FileName = fName;
                    fPart.FoolFileSize = foolFileSize;
                    ***
               
                    servis.GetFiles(fPart);
И вот принимаю на сервисе (серверная часть):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 public class Service1 : IService1
    {
        public void GetFiles(FilePart data)
        {
.... обрабатываю данные
}
}
 
[ServiceContract]
    public interface IService1
    {
        [OperationContract]
        void GetFiles(FilePart data);
        
    }
Не забудьте подключить WCF сервис ваш как Service references
1
Эксперт .NET
5545 / 4308 / 1218
Регистрация: 12.10.2013
Сообщений: 12,356
Записей в блоге: 2
19.04.2017, 17:36 3
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

Цитата Сообщение от jkrnd Посмотреть сообщение
простой пример по использованию WCF.
jkrnd, посмотрите прикрепленный архив. Делал наспех, коряво, но смысл там понятен.
Вложения
Тип файла: rar Test01.rar (83.4 Кб, 36 просмотров)
1
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
19.04.2017, 17:50  [ТС] 4
insite2012, понял совершенно чётко и однозначно, что для моего конкретного случая WCF не подходит. Спасибо огромное.
0
19.04.2017, 17:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2017, 17:50
Помогаю со студенческими работами здесь

Обмен данными между приложениями по Wi-Fi
Доброго времени суток. Подскажите пожалуйста как сделать программу которая будет работать на 2-х...

Универсальный обмен данными между приложениями
Посоветуйте, пожалуйста, подход для решения следующей штуки: Передача данных из приложенияА (C#) в...

Технология обмен данными между приложениями
Приветствую профессионалов и любителей программирования! Принимайте новичка. Собственно такой...

Обмен данными между двумя приложениями
есть 2 приложения. Приложение 1 - Создает Приложение 2 с помощью CreateProcess(); следовательно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru