|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
||||||
Передача собственных типов данных28.08.2017, 19:29. Показов 3302. Ответов 42
Метки нет (Все метки)
Здравствуйте! Не пойму в чём ошибка..
Передаю контракт данных:
DataMember)DataContract и DataMember подключены через System.Runtime.Serialization
0
|
||||||
| 28.08.2017, 19:29 | |
|
Ответы с готовыми решениями:
42
Передача неизвестных типов WCF Передача в функцию данных разных типов
|
|
|
|
| 11.09.2017, 19:08 | |
|
Rodion2703, хорошо. В архиве пример, более-менее приближенный к реальности. Разбирайтесь.
Вот ссылка на файл, сюда не лезет, там ваш StockSharp с собой кучу всего тянет. http://dropmefiles.com/LNMm5
1
|
|
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
||||||
| 26.09.2017, 18:56 [ТС] | ||||||
|
insite2012, и снова здравствуйте
![]() Не по теме: Растянул ногу - наконец-то могу продолжить заниматься этим делом :) Очень прошу в последний раз вашей помощи!.. Осталось совсем чуть-чуть, что мне нужно сделать.. Я могу скинуть на всякий случай dll`ки своей версии библиотеки StockSharp (может быть некоторые проблемы скрыты в этом). Вроде бы довёл более менее до ума приложение, но оно не хочет работать.. Во первых, после подключения к серверу и вызова функции GetTradeState вылазит ошибка XML (1 скрин) при дебаге приложения. (2 скрин - тоже самое при дебаге сервера)Во вторых, почему-то опять появилась проблема, когда значения во время сессии не сохраняются( После функции INIT инициализируется timeFrameList, но после вызова Update_TfCandles ошибка, что этот листинг нулевой. (3 скрин)Рабочий сервис сервера:
0
|
||||||
|
|
|||
| 26.09.2017, 19:05 | |||
|
1
|
|||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
|||||||||||||
| 26.09.2017, 19:10 [ТС] | |||||||||||||
|
insite2012,
App.config на сервере
0
|
|||||||||||||
|
|
|||
| 26.09.2017, 19:14 | |||
|
1
|
|||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
||
| 26.09.2017, 19:17 [ТС] | ||
|
insite2012,
Инициализирую экземпляр службы единожды (переменная proxy, как я понял). Проблема не может быть в чем-то другом? Или всё-таки я где-то оставил повторную инициализацию proxy? Уверен на 90%, что она не создаётся 2жды
0
|
||
|
|
||
| 26.09.2017, 19:26 | ||
|
1. Вы создаете и запускаете хост. Он работает, НО экземпляра класса службы еще нет. 2. Вы создаете посредника (прокси), и вызываете метод Init() службы. Вызов доходит до хоста, и в этот момент создается экземпляр службы, который и делает то, что вы хотите.3. Вызов метода Init() завершается, и после его завершения (Именно так!!!) экземпляр службы (а вместе с ним и все его поля и прочее состояние) уничтожаются сборщиком мусора. Все, его больше нет. Помянем его, пусть покоится с миром.![]() 4. Вы вызываете другой метод службы, и снова - создается экземпляр службы, который и пытается работать со своим полем - листом. Но лист этот совершенно пуст, его же никто и ничем не заполнил. Тут вы и ловите исключение, вполне ожидаемо. Так вам понятнее, как оно работает?
1
|
||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
|
| 26.09.2017, 19:32 [ТС] | |
|
insite2012, аа.. То есть, proxy это не экземпляр службы, а лишь посредник. Спасибо большое за объяснение) Так точно понятно)
Тогда управлять экземпляром службы? Как его сохранить? Где он, собственно, находится, когда мы соединяемся по proxy?
0
|
|
|
|
|||||
| 26.09.2017, 19:44 | |||||
|
1. Как и сейчас, на каждый вызов метода создается экземпляр службы. 2. Режим сессии, когда (в идеале) на каждый посредник приходится свой экземпляр службы. В таком случае все данные, с которыми мы работаем (в этой сессии) сохраняются. 3. Синглетный режим. Экземпляр службы всего один, он создается при запуске хоста и остается в памяти всегда, пока работает хост. Все посредники при вызове методов работают с одним и тем же экземпляром.
0
|
|||||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
||
| 26.09.2017, 19:49 [ТС] | ||
|
insite2012,
Мне нужен был режим сессии (как и сейчас), но настроить я его не мог (и сейчас не очень представляю как )
0
|
||
|
|
||
| 26.09.2017, 19:58 | ||
NetTcpBinding, WsHttpBinding) и сконфигурировать его должным образом.2. В определении контракта службы явно указать на необходимость сессионной работы. 3. В определении реализации службы установить свойство InstanceContextMode атрибута ServiceBehavior в InstanceContextMode.PerSession.PROFIT!
1
|
||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
||||||||||||
| 26.09.2017, 21:01 [ТС] | ||||||||||||
|
insite2012,
А какую привязку лучше выбрать для моей задачи? Мне необходимо, чтобы сервер мог обрабатывать несколько клиентов одновременно. А работа заключается лишь в обработке приходящей информации и отправки результата. Добавлено через 19 минут insite2012, вроде бы настроил конфиг сервера
0
|
||||||||||||
|
|
|||||||
| 26.09.2017, 21:04 | |||||||
1
|
|||||||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
|
| 26.09.2017, 21:33 [ТС] | |
|
insite2012, а чем отличается
address от адреса в host.AddServiceEndpoint(typeof(IWorkService), binding, "другой адрес");?
0
|
|
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
|||||||||||
| 26.09.2017, 21:40 [ТС] | |||||||||||
|
insite2012, ошибка вылезла(
Клиент: (500 ошибка сервера)
0
|
|||||||||||
|
|
|||
| 26.09.2017, 21:44 | |||
baseAddress). Вы можете его не задавать и задать полный адрес в определении конечной точки, или задать базовый адрес, а в определении конечной точки только частичный Uri, в общем, это все комбинации.Добавлено через 3 минуты WsHttpBinding на стороне службы я написал просто так, ради прикола? Стеки каналов с обоих сторон должны быть в точности идентичными. Сделайте так.
1
|
|||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
|
| 26.09.2017, 21:55 [ТС] | |
|
0
|
|
|
|
||||
| 26.09.2017, 21:57 | ||||
![]() Сторона сервера:
1
|
||||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
||
| 26.09.2017, 22:06 [ТС] | ||
|
Не по теме: insite2012, Для меня это определение аналогично: производная - это касательная к графику :scratch: insite2012, совсем я невнимательный стал к вечеру Не заметил, что есть аргументы для экземпляра привязки.Спасибо огромное) Ошибка пропала, и мы вернулись к какой-то непонятной фиговинке ![]() ![]() ![]() ![]() Опять ошибка о каком-то знаке.. Я ведь даже XML файлы не использую. Она возникает на стороне сервера. Есть хотя бы какие-нибудь догадки об этом?
0
|
||
|
24 / 20 / 5
Регистрация: 06.01.2013
Сообщений: 819
|
||||||
| 26.09.2017, 22:34 [ТС] | ||||||
|
Как мне отследить источник ошибки?
Добавлено через 26 минут Как я догадываюсь, передача между клиентом\сервером идёт через xml код? Как я догадываюсь, сериализация - это объект записать в текстовом виде в xml код (как JSON) Как я догадываюсь, при сериализации что-то идёт не так, поэтому выскакивает ошибка Не знаю, может на это повлиял контракт данных?
0
|
||||||
| 26.09.2017, 22:34 | |
|
Чтение и запись типов, массив типов и List<> данных в файл Передача в методы переменных ссылочных типов
Создание собственных типов данных Сортировка собственных типов данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|