![]() |
|
Модераторы: gambit |
![]()
|
|
| starostin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.9.2009 Где: Ярославль Репутация: 1 Всего: 1 |
Минут 5 думал где задать этот вопрос, и решил, что здесь правильней и больше шансов, что ответят. То что речь идёт о compact fraemwork не столь важно наверно. Ситуация такая: есть рабочая серверная служба, которая реализует пару методов, предположим мне надо обратиться к методу List<string> Login(string Name, string Password). Как отправить запрос с вот этими двумя стрингами и получить List обратно? Вот чё то даже вообразить не могу как это происходит, можно какой нибудь пример или ссыль до ужаса простую?
|
|||
|
||||
| triclosan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 18.8.2006 Репутация: нет Всего: 12 |
||||
|
||||
| Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: нет Всего: 24 |
starostin, если WCF то обычно есть контракт(интерфейс), который известен серверу и пользователю. через этот контракт и обращаешься к методам. остальное делает WCF
|
|||
|
||||
| WolfTheGrey |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 21.1.2009 Где: forum.vingrad.ru Репутация: нет Всего: 2 |
связь это какй-то ip протокол? в пакетах только байты сидят, типов данных у них нет
Нет тут уже идет rfc ищи в инете протоколы WCF. А лучше переделывай сервер под наш родной socket. |
|||
|
||||
| starostin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.9.2009 Где: Ярославль Репутация: 1 Всего: 1 |
Экскалупатор, а вот если не иметь интерфейса, а примерно знать только о некоторых контрактах, можно ли так?
WolfTheGrey, мысля хорошая, и из изысканий из msdn нельзя было не наткнутся на сокеты, но я не представляю как в этом случае настраивать endpointы, при простом подключении, как тут, выдаёт ошибку об недостежимом endpointе |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
если речь идет про SOAP, то для него есть WSDL описание сервиса. Для REST-подобного должно быть просто описание, равно как и для сокетов... -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| starostin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.9.2009 Где: Ярославль Репутация: 1 Всего: 1 |
jonie, вот вы паходу говорите о том что мне нужно, но для меня остаётся вопрос в разнице между soap и rest? немогли бы вы объяснить, до кучи показать пример кода, потому что visual studio не предлагает добавить к проекту файла конфига.
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
starostin, разница между соап и рест-ом очевидна. SOAP более сложен с т.з. организации как минимум. Вы знаете вообще как выглядит SOAP а как REST ? Если нет, тогда в википедию и читать, читать, читать.... На пальцах это объяснять тут глупо - всё уже украдено до нас...
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| starostin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.9.2009 Где: Ярославль Репутация: 1 Всего: 1 |
Так, ну ага, бегло прочитал, мне нужен именно soap, нашёл мега супер пупер описаниие WSDL, но! Для меня по прежнему остается загадкой, КАК? А точнее ГДЕ? КАК и ГДЕ? мне прописать вот эти самые типы и методы что бы настроить эндпойнт, у проекта Smart Device Profect нет возможности добавления файла конфигурации, у сокета может быть есть какое то свойство которое может этим управлять? Или это может быть надо вшить в сообщение?
|
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
какой нахрен файл конфигурации? WSDL описание вам нужно только чтобы слепить прокси классы автогенератором и не более. В общем упрощенно схема работы выглядит так: исходные данные: некий сервис, на чем-то написанный, умеет WSDL описание предоставлять. Вот пример на php подойдет: https://github.com/jonie/HTMLJavascriptTesting задача: дернуть сервис и получить от него ответ решение: узнать где взять WSDL сервиса, натравить на него svcutil.exe* утилиту, чтобы получить прокси классы**, а также класс контекста сервиса ***. *)вместо неё можно использовать add service reference меню в VS в ProjectExplorer-е **)Прокси классы это такие DTO классы, которые умеют сериализоваться используя специальный, упрощенный (в сравнении с XmlSerializer) DataContractSerializer сериализатор. ***) Класс контекста сервиса это POCO класс, который не нуждается в сериализации. По сути своей он делает web Request-Responce, сериализуя передаваемые в методы параметры (зависят от wsdl описания). Реализует прокси паттерн. Классу контекста можно (и зачастую нужно) указать URI endpoint-а, где хостится сервис. Также ему возможно указать другие параметры создания, которые обычно WCF пишет в app.config файле (но никто не запрещает конфигурировать это ручками). всё. Это сообщение отредактировал(а) jonie - 11.1.2011, 21:29 -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| starostin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.9.2009 Где: Ярославль Репутация: 1 Всего: 1 |
Вот, вот об этом я и говорю, есть wcf сервис и всё там указано, где мне этот же endpoint указать в клиенте? |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
starostin, при создании System.ServiceModel.ClientBase наследника (создается при Add Reference в окне например или при использовании вышеупомянутой утилиты) при вызове конструктора передать.
Вот такой там типичный код генерируется:
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| starostin |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.9.2009 Где: Ярославль Репутация: 1 Всего: 1 |
Блин, да как же мысль то донести...
Какой объект должен принять эти биндинг и эндпоинт? Агааааа, нашёл, вот что я искал Client Channel в связи с этим два новых вопроса, там в строке
я не понимаю что такое "http://contoso.com/someaction" и какую роль он тут играет. Второй вопрос, как организовать message в котором два значения для одного метода, т.е. на сервисе меня ждёт метод List<string> Login (string Name, string Password)? Это сообщение отредактировал(а) starostin - 15.1.2011, 17:44 |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
чета вы вообще не то творите. Давайте вы сначала прочитаете книжку про WCF, потом уже будете гадать? -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Распределённые приложения и сеть | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |