|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
в студии 2010 все работало, когда стал компилировать в 2013 некоторые Message дают ошибку. Что бы это могло быть? Код: c# 1.
Какие-то изменения было, но не существенные. И это при том, что используются MessageContracts. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2015, 18:16 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Winnipuh, Ну тут явно предлагает указать KnownType. Что могло поменяться... Не знаю, может поменялся алгоритм резольвинга (раньше делал больше), может во время переноса потерялись аттрибуты или параметры в конфиге... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2015, 14:59 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
МихаилРWinnipuh, Ну тут явно предлагает указать KnownType. Что могло поменяться... Не знаю, может поменялся алгоритм резольвинга (раньше делал больше), может во время переноса потерялись аттрибуты или параметры в конфиге... самый писец в том, что он там есть и не в одном месте. Что изменилось : была vs2010 - стала 2013 и на клиенте, и на сервере, плюс некоторые изменения в коде, которые не принципиальны для данной ошибки. Подозреваю студию, любит ms делать изменения... но что проверять?... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2015, 18:01 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Перепроверил, такая разница в поведении: vs2010 генерит прокси для 7 классов и добавляет к ним KnownType, vs2013 только для одного из них добавляет, а для 6 не добавляет, хотя на сервере аттрибуты есть. Куда смотреть? да, обнаружил такую закономерность: у тех 6 классов, для которых vs2013 не генернула KnownType одним из членов является Object val; Может в этом проблема? и как бороться? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 12:24 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Сделал так: svcutil.exe http://localhost:8082/IService/mex /noConfig прокси содержит аттрибут KnownTypeAttribute. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 15:18 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Winnipuh, Интересно. А можно увидеть какой-нибудь минимальный пример для воспроизведения? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 15:33 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Итого: 1. WCF сервис - один и тот же, запущенный под студией, но это не так важно. 2. VS2013, NET клиент, делаю прокси через 'Update service reference' - нет аттрибутов KnownType 3. пустил руками svcutil.exe http://localhost:8082/IService/mex /noConfig - есть аттрибут в классе 4. Пустил vs2010 с тем же клиентом, генернул прокси через 'Update service reference' - все ок, есть аттрибут. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 16:02 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
МихаилРWinnipuh, Интересно. А можно увидеть какой-нибудь минимальный пример для воспроизведения? Там большой сервис, просто так и не вычленишь... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 16:14 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Winnipuh, А хотя бы WSDL выгрузить для того сервиса, на котором проявляются сложности? Или он сильно закрыт? Как вариант, для воспроизведения попробовать оставить дата-контракты и пустышки сервисов (ну и убрать все поля и лишние методы). Т.е. просто повырезать лишнее (кстати, не исключено что в процессе станет понятно, в чем беда) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 17:04 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
МихаилРWinnipuh, А хотя бы WSDL выгрузить для того сервиса, на котором проявляются сложности? Или он сильно закрыт? Как вариант, для воспроизведения попробовать оставить дата-контракты и пустышки сервисов (ну и убрать все поля и лишние методы). Т.е. просто повырезать лишнее (кстати, не исключено что в процессе станет понятно, в чем беда) от wsdl толку мало, с определениями методов проблем нет. Проблема в response вызываемого метода и обнаруживается она естественно уже в рантайме, на клиенте при попытке десериализации. Не вижу как тут личку отправлять ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 18:14 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Здесь - response, на котором ошибка десериализации, там где слово 'зима', тот тип должен быть как knowntype на обоих концах http://rghost.net/7pvzFS4HF Здесь кусок кода, собственно проблемный класс MetadataObject http://codeviewer.org/view/code:4fb4 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2015, 18:22 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Winnipuh, Wsdl мне нужен чтобы попытаться воспроизвести ситуацию. Как я понял, проблема ровно в одном - в том как генерирует прокси VS2013 (не расставляет KnownType). При это VS2010 и svcutil работают нормально. Вот собственно я и хотел получить WSDL (со всеми типами, т.е. либо Sinngle wsdl, либо WSDL + xsd - их может скачать, например, svcutil) чтобы воспроизвести ситуацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 10:26 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
МихаилРWinnipuh, Wsdl мне нужен чтобы попытаться воспроизвести ситуацию. Как я понял, проблема ровно в одном - в том как генерирует прокси VS2013 (не расставляет KnownType). При это VS2010 и svcutil работают нормально. Вот собственно я и хотел получить WSDL (со всеми типами, т.е. либо Sinngle wsdl, либо WSDL + xsd - их может скачать, например, svcutil) чтобы воспроизвести ситуацию. Ок, я понял, не вижу как отправить личку, отпишитесь мне в емейл. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 10:35 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Winnipuh, Написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 11:02 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Явное добавление члена класса указанного типа конечно решает проблему, но это плохое решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2015, 15:24 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Результаты исследования и чудеса(?) 1. В Solution, где есть проект, который строит некорректный Service Reference добавил новый тестовый проект того же типа WinForms, для того же Framework 4.5. 2. В нем добавил новый Service Reference из того же сервиса. 3. Создался правильный референс(!) 4. Я его скопировал в плохой проект, заменил неймспейс - все сработало. 5. В плохом проекте удалил Service Reference, по-новой добавил, сгенерировался снова плохой(!) Разница между этими проектами в том, что плохой проект начинали разрабатывать еще для Framework 2.0. затем перевели на 4.5. Вывод: разница только в клиентском приложении, поскольку в течение экспериментов сервис был тот же, он был активен. Вопрос: Что может быть в клиенте такого, что диктует студии такое поведение во время генерации Service Reference? куда рыть? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2015, 13:55 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Winnipuh, Первое, что приходит на ум: что-то "сидит" в Web.config / app.config (как это ни странно, но механизм генерации в Service Reference точно его использует - он как минимум точно берет оттуда информацию о расширениях для генератора). При миграции, например, добавляется тэг: Код: xml 1. 2. 3.
Может что-то еще... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2015, 14:31 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
МихаилРWinnipuh, Первое, что приходит на ум: что-то "сидит" в Web.config / app.config (как это ни странно, но механизм генерации в Service Reference точно его использует - он как минимум точно берет оттуда информацию о расширениях для генератора). При миграции, например, добавляется тэг: Код: xml 1. 2. 3.
Может что-то еще... взял в лоб скопировал конфиг из плохого проекта в новый, апдейтнул - все ок, референсы корректные. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2015, 15:26 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
Winnipuh, Тогда идеи пока кончились. Единственное - изучать файл svcmap, может там чего поменялось... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2015, 09:25 |
|
Client proxy: vs2010->vs2013
|
|||
---|---|---|---|
#18+
МихаилРWinnipuh, Тогда идеи пока кончились. Единственное - изучать файл svcmap, может там чего поменялось... да я сам хренею уже. 1. сделал в том же солюшн новый проект, добавил сервер референсе - все ок 2. сравнил csproj, практически довел их до одинакового состояния - в новом все ок, в старом та же фигня ... |
|||
:
Нравится:
Не нравится:
|
|||
24.04.2015, 11:22 |
|
|
start [/forum/topic.php?fid=19&fpage=7&tid=1396883]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 143ms |
0 / 0 |