2013-06-28 2 views
2

Я хочу создать приложение WCF Service, которое должно использовать мою библиотеку, чтобы все методы библиотеки были доступны для клиента службы. Должен быть лучший способ, чем явно писать OperationContract для каждого метода моей библиотеки, который действует как прокси-сервер и вызывает фактический метод библиотеки на стороне сервера, чтобы получить возвращаемое значение и вернуть его клиенту.Предоставить всю библиотечную функцию через WCF

+0

Вы можете попробовать совместить соответствующие методы. Но это не всегда возможно. Но когда дело доходит до этого, если вы хотите иметь возможность вызвать этот метод, у вас должен быть контракт на операцию для него. Возможно, давая нам представление о том, с чем вы работаете, может помочь нам предложить другие пути. – ernest

+0

У меня есть библиотека, которая предоставляет некоторые методы для администрирования активного каталога моего домена, и я хочу сделать его доступным через WCF. Таким образом, библиотека может оставаться там, где она есть, и ее можно использовать удаленно через клиента WCF. – wodzu

+0

Вы только что повторили то, что вы сказали выше. Если вы хотите получить доступ к этим методам, вам нужно будет заключить контракт на один метод. – ernest

ответ

0

Если вы хотите доступ к этим методам, вам нужно будет создать для них рабочие контракты.

Вы можете сделать это проще, создав небольшое приложение, которое проходит через файлы кода, находит и подписи метода, а затем форматирует их для интерфейса. Тогда вам просто нужно скопировать этот код в интерфейс.

+0

не совсем то, что я искал, но все равно спасибо. Таким образом, нет хороших способов без обходных решений. – wodzu

+0

Да, это не идеальный вариант, но для выполнения цикла не должно быть больше 10-15 минут. Вероятно, вы могли бы сгенерировать методы для файла .svc и кода для вызова других методов одновременно. – ernest

0

Там должно быть лучше, чем явно написание OperationContract для каждого метода моей библиотеки

Нет, не совсем.

Также помните, что библиотека часто является состоятельной, т. Е. Вы создаете экземпляр объекта, а когда вы вызываете методы экземпляра против этого объекта, вы сохраняете состояние при сохранении закрытых членов на уровне экземпляра.

Только методы static могут быть «непосредственно» сопоставлены с сервисными операциями.

Скорее всего, вы можете полностью написать свой контракт WCF с нуля, чтобы сделать его обслуживание людей (т.е. без гражданства), и, возможно, совместимое (ошибки вместо исключений ... и т.д.).

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

  • Нет связанных вопросов^_^