Передача объектов между WCF - PullRequest
1 голос
/ 20 мая 2011

У меня есть приложение ASP, которое вызывает службу HTTP WCF, которая вызывает службу TCP WCF (все на разных серверах).В конечном итоге я пытаюсь передать один объект класса между тремя.

Я обнаружил, что не могу сделать это напрямую в HTTP WCF, даже если мой объект класса определен одинаково в ОБА WCF.Вот так:

Public Function CallOtherFunction(ByVal ThisClass as MyClass)
Dim RetVal as Boolean

     RetVal = CallMyOtherWCFFunction(ThisClass)

End Function

Вместо этого я должен:

Public Function CallOtherFunction(ByVal ThisClass as MyClass)

Dim RetVal as Boolean
Dim MyOutgoingClass as MyOtherWCF.MyClass

     MyOutgoingClass.MyString = ThisClass.MyString
     RetVal = CallMyOtherWCFFunction(MyOutgoingClass)

End Function

Мои объекты довольно большие, чтобы сказать, что они имеют много свойств.Любой способ не объявлять новую переменную в моей вызывающей функции, поэтому мой код может быть немного проще (как в первом примере)?

Спасибо, Джейсон

1 Ответ

5 голосов
/ 20 мая 2011

Вы не можете передать его напрямую, потому что это два разных типа.Однако вы можете объявить свои контракты данных в общей сборке (используемой тремя проектами или, по крайней мере, службами HTTP и TCP), при добавлении ссылки на службу для создания прокси в службе HTTP указывается, чтоВы хотите "повторно использовать типы в ссылочных сборках".Таким образом, он должен использовать один и тот же тип во всех проектах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...