|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Требуется создать веб сервис, обращаться к которому будут присылая сериализованные в XML объекты с клиента. Там их будут де-сериализовывать и обрабатывать. Как объявить все нужные классы на сервисе, чтобы объявления не нужно было дублировать на клиенте? C#, VS 2008 .NET 3.5 Что-то подсказывает что нужно чтобы код сервиса и клиента находился в одном пространстве имен, но как конкретно??? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2013, 19:11 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler,делается отдельная, общая сборка ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2013, 22:56 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Извините, мне это ничего не говорит. Можно ли поподробнее? Я столько лет вожусь исключительно с бизнес логикой, что очень отстал от создания новых решений и проектов в студии. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2013, 23:15 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler, 1. Создаёте в студии новый проект с типом (output type) Class Library; 2. Описываете в нём упомянутые выше классы; 3. Добавляете ссылку на проект, или на сборку (dll) на клиенте, и на сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2013, 23:23 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, А что насчет пространства имен в этой сборке? Оно должно совпадать с тем, которое используется в клиенте? У веб сервиса вроде вообще пространство имен не указано явно. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2013, 23:27 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler, за годы возни с бизнес логикой Вы не пользовались пространствами имён? Допустим система у Вас называется MySuperSystem, общие классы лежат в проекте Common (или DomainModel, или как Вам угодно), тогда в нём пространство имён: Код: c# 1.
на сервере: Код: c# 1. 2. 3. 4. 5. 6.
на клиенте: Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2013, 23:36 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, Именно так, ни разу не пользовался. В VS2008 проект веб сервиса создается примерно вот таким: Код: c# 1. 2. 3. 4. 5. 6.
то есть в нем вообще не упоминается в каком пространстве он находится. Но кажется ему это и не нужно до тех пор пока перед этим вставлена строка со ссылой на Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.08.2013, 23:54 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler, а может таким: Код: c# 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.
Не суть важно. Вы можете назначить пространство имён, изменить, расширить, избавиться от него. Главное, чтобы не возникало неопределённостей. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2013, 00:04 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, Да нет же, именно как я показал (за вычетом uses), никакого namespace явно не создается. Но и так работает, так что Огромное Спасибо! Посадили разработчика хранимых процедур ваять веб сервисы, вот и чайницкие вопросы возникают. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2013, 01:28 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo KoblerskyANA, Да нет же, именно как я показал (за вычетом uses), никакого namespace явно не создается. Но и так работает, так что Огромное Спасибо! Посадили разработчика хранимых процедур ваять веб сервисы, вот и чайницкие вопросы возникают.Я запостил код только что созданного в студии проекта MSDN Вам в помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2013, 13:30 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo KoblerПосадили разработчика хранимых процедур ваять веб сервисы, вот и чайницкие вопросы возникают.Что у Вас за СУБД? Помнится в SQL Server 2005 появилась фича: "Native XML Web Services (SOAP/HTTP endpoints)". В SQL Server 2012 от неё отказались, т.к. WCF есть. Но времени было достаточно, чтобы разработчику хранимых процедур познакомиться с веб сервисами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2013, 13:36 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, После создания библиотеки классов вроде все заработало, пока не возникла необходимость создать метод, в который передается объект одного из классов. Вроде бы явно указываю какой класс использовать, но все равно вылезает ошибка. Объявляю: Код: c# 1.
Вызываю: Код: c# 1. 2. 3.
ошибка: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2013, 19:40 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler, по тексту ошибки вроде Вам должно быть понятно в чём проблема. ves - это что такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2013, 09:52 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, ves это веб сервис: Код: c# 1.
Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2013, 17:42 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler, код вызыва - это код клиента? Для работы с сервисом воспользовались Add Web Reference? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2013, 18:26 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, да и да. мне все больше кажется что от меня потребовали глупость - передавать объект класса с клиента в сервис. в любом случае передадутся только данные без методов. гораздо проще делать как я и раньше делал - вручную сериализовывать на клиенте и десериализовывать в сервисе. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2013, 22:57 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Koblerда и да. мне все больше кажется что от меня потребовали глупость - передавать объект класса с клиента в сервис. в любом случае передадутся только данные без методов. гораздо проще делать как я и раньше делал - вручную сериализовывать на клиенте и десериализовывать в сервисе.Воспользовавшись Add Web Reference Вы сгенерировали на клиенте необходимые proxy-классы для работы с сервисом по WSDL, что предоставляет последний. Работать теперь надо через них и Вашей библиотекой на клиенте можно не пользоваться. Вы загляните внутрь метода CreateOrderFromOrderInfo на клиенте ради интереса. Если Вам проще вручную сериализовывать передаваемые данные, то сериализуйте, я не против. Они автоматически будут десериализованы в сервисе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2013, 07:38 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, Это-то понятно, непонятно зачем, когда в прокси-классах нет методов, а только данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2013, 18:06 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler, выше упомянул о WSDL, подумайте над этим. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2013, 06:18 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
skyANA, Так можно все глаза просмотреть. Можно подробнее? Проблема в том, что Reference.cs превращает классы в классы без методов. Например мой заказ содержит список продуктов: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Так на клиенте Items становятся просто массивом VE_ProductInfo[] без метода Add. В результате я не могу вызвать ни мой метод AddProduct, ни Items.Add. В связи с этим можно пожалуйста прояснить ранее сказанное: skyANAОни автоматически будут десериализованы в сервисе. Как именно этого добиться? Не то чтобы меня напрягало вручную де-сериализовывать, но если можно этого не делать, то было бы лучше. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2013, 22:53 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo Kobler, - Вы, чего, и конфеты за меня есть будете?(с) Код: c# 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2013, 23:35 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Где-то в степи, Что такое IAddStrongMy? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2013, 16:13 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Извините, господа, но вопрос решился гораздо проще. Просто удаляются несколько лишних строк... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2013, 20:13 |
|
Использовать классы из веб сервиса в клиенте
|
|||
---|---|---|---|
#18+
Gobzo KoblerИзвините, господа, но вопрос решился гораздо проще. Просто удаляются несколько лишних строк...Где удаляются? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.08.2013, 10:21 |
|
|
start [/forum/topic.php?fid=20&msg=38363990&tid=1404014]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 326ms |
total: | 498ms |
0 / 0 |