Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 13:39
Оценка:
Есть клиентское приложение — там юзер юзает свою культуру, а есть сервер на нем тоже своя культура
Клиент сериализирует данные в xml и там числа находятся в культуре клиента, а приходят они на сервер, а там другая культура и сервер не понимает числа с клиента — зачем все эти пляски с культурами???
Re: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 13.07.10 13:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть клиентское приложение — там юзер юзает свою культуру, а есть сервер на нем тоже своя культура

А>Клиент сериализирует данные в xml и там числа находятся в культуре клиента, а приходят они на сервер, а там другая культура и сервер не понимает числа с клиента — зачем все эти пляски с культурами???

Чем читаете\пишите xml? Кто преобразовывает числа в строки и строки в числа?

Если всё сами, то нужно пользоваться XmlConvert, который, в свою очередь, использует инвариантную культуру.
Help will always be given at Hogwarts to those who ask for it.
Re: Состояние элементов на форме (подскажите реализаицию)
От: _Eter_ http://mnazarov.ru
Дата: 13.07.10 13:52
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть клиентское приложение — там юзер юзает свою культуру, а есть сервер на нем тоже своя культура

А>Клиент сериализирует данные в xml и там числа находятся в культуре клиента, а приходят они на сервер, а там другая культура и сервер не понимает числа с клиента — зачем все эти пляски с культурами???

А если сериализовать так:

StringBuilder sb = new StringBuilder();
StringWriter w = new StringWriter(sb, System.Globalization.CultureInfo.InvariantCulture);
XmlSerializer sr = new XmlSerializer(obj.GetType()); 
sr.Serialize(w,obj);


вроде должно тогда сериализоваться в инвариантной культуре
Re[2]: Вопрос по Культурам
От: _Eter_ http://mnazarov.ru
Дата: 13.07.10 13:55
Оценка:
Извините, почему-то не та тема получилась
Re: Вопрос по Культурам
От: LF  
Дата: 13.07.10 14:05
Оценка:
А>Есть клиентское приложение — там юзер юзает свою культуру, а есть сервер на нем тоже своя культура
А>Клиент сериализирует данные в xml и там числа находятся в культуре клиента, а приходят они на сервер, а там другая культура и сервер не понимает числа с клиента — зачем все эти пляски с культурами???
А нефиг использовать специфичную культуру для сериализации.
Культура была придумана для пользовательского интерфейса.
Re[2]: Состояние элементов на форме (подскажите реализаицию)
От: Аноним  
Дата: 13.07.10 14:08
Оценка:
Здравствуйте, _Eter_, Вы писали:

_E_>
_E_>StringBuilder sb = new StringBuilder();
_E_>StringWriter w = new StringWriter(sb, System.Globalization.CultureInfo.InvariantCulture);
_E_>XmlSerializer sr = new XmlSerializer(obj.GetType()); 
_E_>sr.Serialize(w,obj);
_E_>


_E_>вроде должно тогда сериализоваться в инвариантной культуре


да сложновато как-то сериализировать все поля формы таким макаром...
Re[2]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 14:09
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Чем читаете\пишите xml? Кто преобразовывает числа в строки и строки в числа?


_FR>Если всё сами, то нужно пользоваться XmlConvert, который, в свою очередь, использует инвариантную культуру.


Спасибо, не знал о таком классе
Re[2]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 14:17
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Если всё сами, то нужно пользоваться XmlConvert, который, в свою очередь, использует инвариантную культуру.


Не обнаружил там метода записи double в инвариантной культуре!!! есть чтение с преобразованием, а записи нету
Re[2]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 14:23
Оценка:
LF>А нефиг использовать специфичную культуру для сериализации.
LF>Культура была придумана для пользовательского интерфейса.

Дык а данные я откуда беру??? с него же родимого, а вот сервер (который без него родимого) не понимает разные культуры клиентов!
Re[3]: Вопрос по Культурам
От: LF  
Дата: 13.07.10 14:27
Оценка:
А>Дык а данные я откуда беру??? с него же родимого, а вот сервер (который без него родимого) не понимает разные культуры клиентов!
Пользователю показывается decimal с его культурой,
но на сервер отправляется decimal c инвариантной культурой.
Re[4]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 14:31
Оценка:
А>>Дык а данные я откуда беру??? с него же родимого, а вот сервер (который без него родимого) не понимает разные культуры клиентов!
LF>Пользователю показывается decimal с его культурой,
LF>но на сервер отправляется decimal c инвариантной культурой.

и как это осуществлять в WPF когда элементы интерфейса прибиндены к XML в two-way binding — вручную разгребать финальный xml искать то что может быть проблемой и сериализировать в инвариантную культуру!!??
Re[3]: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 13.07.10 14:40
Оценка:
Здравствуйте, Аноним, Вы писали:

_FR>>Если всё сами, то нужно пользоваться XmlConvert, который, в свою очередь, использует инвариантную культуру.


А>Не обнаружил там метода записи double в инвариантной культуре!!! есть чтение с преобразованием, а записи нету


Плохо искали.
Help will always be given at Hogwarts to those who ask for it.
Re[5]: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 13.07.10 14:42
Оценка:
Здравствуйте, Аноним, Вы писали:

А>>>Дык а данные я откуда беру??? с него же родимого, а вот сервер (который без него родимого) не понимает разные культуры клиентов!

LF>>Пользователю показывается decimal с его культурой,
LF>>но на сервер отправляется decimal c инвариантной культурой.

А>и как это осуществлять в WPF когда элементы интерфейса прибиндены к XML в two-way binding — вручную разгребать финальный xml искать то что может быть проблемой и сериализировать в инвариантную культуру!!??


Прибиндены-то куда? К чему? Какого оно типа? Нет там ничего невозможного
Help will always be given at Hogwarts to those who ask for it.
Re[6]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 14:53
Оценка:
_FR>Прибиндены-то куда? К чему? Какого оно типа? Нет там ничего невозможного
Поясню: получаю от WCF сервиса запись в виде XML и каждый елемент интерфейса биндится на конкретный элемент этого XML
(при этом уже тут возникает проблема так как с сервера пришло 2.25 а на клиенте д.б. 2,25)
В процессе редактирования юзер редактирует цыхверки и пишет 3,56 и ента цихверка сразу же записывается в этот XML и так все поля формы и это делает за меня класс Binding
В результате я имею на руках XML в котором для сервера приготовлены неожиданности — т.е. перед отсылкой его на сервер мне нужно найти все пакости в XML и ручками все исправить!
Re[4]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 14:58
Оценка: :)
_FR>Плохо искали.

Прошу прощения — был не прав, вспылил, прошу дать мне шанс загладить свою вину )
Re[7]: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 13.07.10 15:05
Оценка:
Здравствуйте, Аноним, Вы писали:

_FR>>Прибиндены-то куда? К чему? Какого оно типа? Нет там ничего невозможного

А>Поясню: получаю от WCF сервиса запись в виде XML и каждый елемент интерфейса биндится на конкретный элемент этого XML
А>(при этом уже тут возникает проблема так как с сервера пришло 2.25 а на клиенте д.б. 2,25)
А>В процессе редактирования юзер редактирует цыхверки и пишет 3,56 и ента цихверка сразу же записывается в этот XML и так все поля формы и это делает за меня класс Binding
А>В результате я имею на руках XML в котором для сервера приготовлены неожиданности — т.е. перед отсылкой его на сервер мне нужно найти все пакости в XML и ручками все исправить!

Поиграйтесь с Converter/ConverterCulture в биндинге.
Help will always be given at Hogwarts to those who ask for it.
Re[8]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 15:28
Оценка:
_FR>Поиграйтесь с Converter/ConverterCulture в биндинге.

Че-то сильно громоздко получиться да еще и конвертеры писать прийдется....
Re[5]: Вопрос по Культурам
От: Dog  
Дата: 13.07.10 15:42
Оценка:
_FR>>Плохо искали.
А>Прошу прощения — был не прав, вспылил, прошу дать мне шанс загладить свою вину )
Авторизуйтесь
Re[6]: Вопрос по Культурам
От: Аноним  
Дата: 13.07.10 19:24
Оценка:
Здравствуйте, Dog, Вы писали:

_FR>>>Плохо искали.

А>>Прошу прощения — был не прав, вспылил, прошу дать мне шанс загладить свою вину )
Dog>Авторизуйтесь

Не могу — мой дом, машина и все остальное даны мне для того чтобы я добросовестно исполнял свой долг перед Родиной только не говорите об этом пиндосам, а то выгонят за шпиёнство ))))))))
Re: Вопрос по Культурам
От: Poul_Ko Казахстан  
Дата: 14.07.10 02:24
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть клиентское приложение — там юзер юзает свою культуру, а есть сервер на нем тоже своя культура

А>Клиент сериализирует данные в xml и там числа находятся в культуре клиента, а приходят они на сервер, а там другая культура и сервер не понимает числа с клиента — зачем все эти пляски с культурами???

Может передавать на сервер помимо данных ещё и культуру пользователя? Пусть сервер десериализует данные с переданной ему культурой. По-моему что-то подобное реализовано в ASP.NET.
Brainbench transcript #6370594
Re[5]: Вопрос по Культурам
От: LF  
Дата: 14.07.10 05:53
Оценка:
А>и как это осуществлять в WPF когда элементы интерфейса прибиндены к XML в two-way binding — вручную разгребать финальный xml искать то что может быть проблемой и сериализировать в инвариантную культуру!!??
Биндиться что? decimal. У него нет культуры.
Финальный xml откуда взялся?
Re[9]: Вопрос по Культурам
От: LF  
Дата: 14.07.10 05:56
Оценка:
А>Че-то сильно громоздко получиться да еще и конвертеры писать прийдется....
Ну а как вы хотели, если текстовые данные передаете.
Re[6]: Вопрос по Культурам
От: Аноним  
Дата: 14.07.10 06:44
Оценка:
А>>и как это осуществлять в WPF когда элементы интерфейса прибиндены к XML в two-way binding — вручную разгребать финальный xml искать то что может быть проблемой и сериализировать в инвариантную культуру!!??
LF>Биндиться что? decimal. У него нет культуры.
LF>Финальный xml откуда взялся?

Биндится запись из базы в виде xml в том числе и decimal и как же нет — вот смотрите 2.35 и 2,35 — видите культуры?
финишный формируется путем ввода буковок юзером и формируется классом Binding
Re[7]: Вопрос по Культурам
От: LF  
Дата: 14.07.10 07:30
Оценка:
А>Биндится запись из базы в виде xml в том числе и decimal и как же нет — вот смотрите 2.35 и 2,35 — видите культуры?
Это не decimal, а его строковое представление в виде строки с учетом культуры.

А>финишный формируется путем ввода буковок юзером и формируется классом Binding

Да заведите уже модель нормальную, а ее уже сериализуйте с инвариантной культурой.
Re[8]: Вопрос по Культурам
От: Аноним  
Дата: 14.07.10 14:42
Оценка:
А>>финишный формируется путем ввода буковок юзером и формируется классом Binding
LF>Да заведите уже модель нормальную, а ее уже сериализуйте с инвариантной культурой.

я не использую MVWM!
Re[9]: Вопрос по Культурам
От: LF  
Дата: 15.07.10 06:29
Оценка:
А>я не использую MVWM!
Соболезную.
Re[10]: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 15.07.10 06:37
Оценка: +1
Здравствуйте, LF, Вы писали:

А>>я не использую MVWM!

LF>Соболезную.

А для чего городить MWM, когда есть готовые данные в xml которые можно попросту "засунуть" в DataContext? Ради чего приделывать лишнего посредника в данном конкретном случае?
Help will always be given at Hogwarts to those who ask for it.
Re[11]: Вопрос по Культурам
От: LF  
Дата: 15.07.10 06:49
Оценка:
_FR>А для чего городить MWM, когда есть готовые данные в xml которые можно попросту "засунуть" в DataContext? Ради чего приделывать лишнего посредника в данном конкретном случае?
В данном конкретном случае готовые данные не совсем готовы и им нужна дополнительная обработка.
Re[12]: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 15.07.10 08:03
Оценка:
Здравствуйте, LF, Вы писали:

_FR>>А для чего городить MWM, когда есть готовые данные в xml которые можно попросту "засунуть" в DataContext? Ради чего приделывать лишнего посредника в данном конкретном случае?

LF>В данном конкретном случае готовые данные не совсем готовы и им нужна дополнительная обработка.

Какая именно? То, что я вижу решается обычным одним-единственным IValueConverter-ом
Help will always be given at Hogwarts to those who ask for it.
Re[13]: Вопрос по Культурам
От: LF  
Дата: 15.07.10 08:09
Оценка:
_FR>Какая именно? То, что я вижу решается обычным одним-единственным IValueConverter-ом
Да, ее можно решить конвертером, но надо еще смотреть что проще и удобней модель или конвертер.
Re[14]: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 15.07.10 08:16
Оценка: +1
Здравствуйте, LF, Вы писали:

_FR>>Какая именно? То, что я вижу решается обычным одним-единственным IValueConverter-ом

LF>Да, ее можно решить конвертером, но надо еще смотреть что проще и удобней модель или конвертер.

И чем же модель может быть лучше? В чём может заключаться большие "простота и удобство"?

Учтите, что мы не знаем, известна ли вообще топикстартеру структура обрабатываемого xml — она может приходить откуда-то извне. Во-вторых, какой толк в моделе, которая по условию всегда 1:1 соответствует данным? Тем, что в данном случае модель может заняться правильными преобразованиеями из чисел в строки и обратно? Так именно это-то (преобразования) и надо решать, а не городить модель, которая, заодно так, поможет решить и данную проблему. А вот для преобразований (тем более однотипных, как в данном случае) как нельзя лучше подойдёт один-единственный конвертер.
Help will always be given at Hogwarts to those who ask for it.
Re[15]: Вопрос по Культурам
От: LF  
Дата: 15.07.10 08:25
Оценка:
_FR>Учтите, что мы не знаем, известна ли вообще топикстартеру структура обрабатываемого xml — она может приходить откуда-то извне. Во-вторых, какой толк в моделе, которая по условию всегда 1:1 соответствует данным? Тем, что в данном случае модель может заняться правильными преобразованиеями из чисел в строки и обратно? Так именно это-то (преобразования) и надо решать, а не городить модель, которая, заодно так, поможет решить и данную проблему. А вот для преобразований (тем более однотипных, как в данном случае) как нельзя лучше подойдёт один-единственный конвертер.
Уговорили
Re[10]: Вопрос по Культурам
От: Аноним  
Дата: 15.07.10 09:28
Оценка:
А>>я не использую MVWM!
LF>Соболезную.

В силу того что я ленивый и не люблю завязываться на чужие промахи и глюки, а только на свои — не юзаю из принципа чужих приблуд в виде MVWWM из-за глюков или архитектурных проблем которых я должен буду потом мучаться, не говоря уже о том что я должен потратить кучу своего времени на освоение чужого порой не очень хорошо спроектированного решения
Re[11]: Вопрос по Культурам
От: LF  
Дата: 15.07.10 09:43
Оценка:
А>В силу того что я ленивый и не люблю завязываться на чужие промахи и глюки, а только на свои — не юзаю из принципа чужих приблуд в виде MVWWM из-за глюков
Свой велосипед ближе к телу.

А>или архитектурных проблем которых я должен буду потом мучаться, не говоря уже о том что я должен потратить кучу своего времени на освоение чужого порой не очень хорошо спроектированного решения

Архитектурная проблема как раз не использовать в WPF MVVM, так как вся идеология WPF построена на нем.
Re[12]: Вопрос по Культурам
От: Аноним  
Дата: 15.07.10 11:35
Оценка:
Здравствуйте, LF, Вы писали:

А>>В силу того что я ленивый и не люблю завязываться на чужие промахи и глюки, а только на свои — не юзаю из принципа чужих приблуд в виде MVWWM из-за глюков

LF>Свой велосипед ближе к телу.
В своем велосипеде быстрее и эффективнее исправить сломавшееся чем ждать полгода пока ктонить прислушается и исправит чтото

А>>или архитектурных проблем которых я должен буду потом мучаться, не говоря уже о том что я должен потратить кучу своего времени на освоение чужого порой не очень хорошо спроектированного решения

LF>Архитектурная проблема как раз не использовать в WPF MVVM, так как вся идеология WPF построена на нем.
Человек, в руках которго молоток, почемуто все предметы вокруг воспринимает как гвозди!!! снимите MVMWVVM-шные очки ))) жизнь прекрасна
Re[8]: Вопрос по Культурам
От: Аноним  
Дата: 15.07.10 11:41
Оценка:
_FR>Поиграйтесь с Converter/ConverterCulture в биндинге.

пожалуй остается 2 варианта:
— предложенный вами через конвертеры
— жестко указать параметры культуры и на клиенте и на сервере
Re[13]: Вопрос по Культурам
От: LF  
Дата: 15.07.10 11:53
Оценка:
LF>>Архитектурная проблема как раз не использовать в WPF MVVM, так как вся идеология WPF построена на нем.
А>Человек, в руках которго молоток, почемуто все предметы вокруг воспринимает как гвозди!!! снимите MVMWVVM-шные очки ))) жизнь прекрасна
может быть.
конвертеры решат вашу проблему без mvvm, но чем сложнее будет gui со временем, тем сложнее будет прикручивать велосипеды.
Re[14]: Вопрос по Культурам
От: Аноним  
Дата: 15.07.10 12:53
Оценка:
LF>может быть.
LF>конвертеры решат вашу проблему без mvvm, но чем сложнее будет gui со временем, тем сложнее будет прикручивать велосипеды.

Я согласен что применение mvvm оправдано в одноконных приложениях типа Silverlight, но в многооконных приложениях — это ненужное усложнение
Re[15]: Вопрос по Культурам
От: LF  
Дата: 15.07.10 12:56
Оценка:
А>Я согласен что применение mvvm оправдано в одноконных приложениях типа Silverlight, но в многооконных приложениях — это ненужное усложнение
Какая альтернатива?
Blend, VS2010 написаны с использованием MVVM.
Re[15]: Вопрос по Культурам
От: _FRED_ Черногория
Дата: 15.07.10 13:17
Оценка:
Здравствуйте, Аноним, Вы писали:

LF>>может быть.

LF>>конвертеры решат вашу проблему без mvvm, но чем сложнее будет gui со временем, тем сложнее будет прикручивать велосипеды.
А>Я согласен что применение mvvm оправдано в одноконных приложениях типа Silverlight, но в многооконных приложениях — это ненужное усложнение

Не вижу, какая может быть разница MVVM интересна тогда, когда у вас есть бизнес-объект и вы не хотите гемороя по "натягиванию" этого бизнес-объекта на формочку. Гораздо проще написать удовлетворяющую (то есть натягиваемую на формочку "как в родную", без "гемороя") требованиям отображения модель и отразить бизнес-объект на эту самую модель. Количество окон в приложении тут непричём.
Help will always be given at Hogwarts to those who ask for it.
Re[16]: Вопрос по Культурам
От: Аноним  
Дата: 16.07.10 06:47
Оценка:
_FR>Не вижу, какая может быть разница MVVM интересна тогда, когда у вас есть бизнес-объект и вы не хотите гемороя по "натягиванию" этого бизнес-объекта на формочку. Гораздо проще написать удовлетворяющую (то есть натягиваемую на формочку "как в родную", без "гемороя") требованиям отображения модель и отразить бизнес-объект на эту самую модель. Количество окон в приложении тут непричём.

Вопрос стоит не в многоконности самой, а в архитектуре приложения, которая в моем случае не позволять юзать МВВМ решения, ну и по причинам приведенным ранее
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.