2010-01-28 3 views
0

У меня возникла проблема.Интеграция WCF с устаревшим удаленным клиентом

Просьба пояснить, возможно ли это или нет.

1) Я создал библиотеку Service (.Net 3.5)

2) Я создал службу Windows (.NET 3.5), добавлены ServiceHost и реализован мой ServiceLibrary работать как TCP конечной точки.

3) Затем я создал консольный клиент (.Net 3.5) и попытался получить данные из моей конечной точки TCP ... (генерация svcutil ... .proxy.cs). Работала абсолютно нормально.

4) У меня есть клиент Windows (.Net 1.1). Как настроить его для использования этой новой службы? Я не могу добавить Proxy.cs, поскольку он говорит, что servicemodel не может быть найден ...

+1

FYI, ставя свой заголовок вопроса в шапки, не будет больше внимания, просто раздражать людей. – RSlaughter

+0

извините :(caplock was on..didnt notice ... пожалуйста, помогите по этой проблеме, хотя ... –

+0

закрыто сейчас или у вас есть дополнительные вопросы? – Tanner

ответ

0

Вам нужно будет использовать basicHttpBinding, которое обратное совместимо и может быть использовано клиентом .net 1.1. Вы должны найти множество полезных примеров в Интернете: Consuming WCF with .Net 1.1 Basic Binding. Например, этот Link описывает, что привязка и использование Soap 1.1 делает его совместимым с .Net 1.1.

Для получения дополнительной информации о различных сценариях и возможностях конфигурации wcf попробуйте изучить этот CodePlex Link, в частности раздел Application Scenarios, в котором представлены сведения о различных настройках. Я считаю, что для работы с устаревшими протоколами вам понадобится basicHttpBinding, а не netTcpBinding. NetTCPBinding предположил бы, что у вас есть .NET 3.0 с обоих концов. См. Это MSDN Bindings Link.

+0

Привет, Спасибо за ваш отзыв. Но ваше предложение будет означать, что Транспортный носитель изменен на Http из TCP правильно? .. Чтобы объяснить больше ... мой код в моем клиентском приложении с 1,1 окном для получения данных из моей службы был ... TcpChannel tcpchannel = new TcpChannel(); ChannelServices.RegisterChannel (tcpchannel); IRequiredInterface Obj = Activator.GetObject (typeof (IRequiredInterface), "tcp: //10.100.200.300: 1000/MyExistingOldRemotingService") как IRequiredInterface; DataSet DS_MyData = Obj.GetMyData(); Теперь мой новый служебный адрес. «net.tcp: //10.100.200.300: 1000/MyExistingOldRemotingService». Как это сделать –

+0

Спасибо Mate :(разочарован, хотя ... На самом деле я не хотел для использования http для доступа к интрасети. Когда старый клиент был создан с использованием tcp..helps в безопасности и, конечно, быстрее ... В любом случае попытается работать с «Добавить веб-ссылку» сейчас ... Спасибо. –

Смежные вопросы