Ну, честно говоря, я бы не пошел по пути "разоблачения" вашего сервиса через WCF.
Мое предложение будет:
- оставьте свой текущий сервис, который собирает и контролирует трафик как он есть
- сохранить данные, которые вы могли бы предоставить другим, в подходящем постоянном хранилище (например, в базе данных)
- создать отдельную службу WCF (размещенную во второй службе Windows NT или в IIS), которая позволит внешним потребителям получать собранные данные
Учитывая ваши текущие данные, вам придется проанализировать, какие именно данные у вас есть, а затем вам необходимо решить, что и как предоставлять эти данные другим, кто может быть заинтересован в этих данных.
если вы выберете службу WCF на основе SOAP, вам придется придумать набор методов службы (что-то вроде GetDataForToday
, GetDataForHour
или что-то еще) это ты хочешь сделать доступным). В этом случае это ваша первая задача - определите методы обслуживания (ваш договор на обслуживание , на языке WCF) и определите, какие типы данных используются - как параметры для ваших методов обслуживания и как возвращаемые значения. из этих методов (ваши контракты данных )
если вы больше увлекаетесь REST, то обычно вы не говорите о методах, а вместо этого думаете о своих данных как о ресурсах - например, Вы можете выставить почасовой набор данных в качестве ресурса и перейти к нему, используя URL-адрес, например, http://yourserver/YourService/YYYYMMDD/Hour
или что-то в этом роде - как вы определяете эти URL (унифицированные идентификаторы ресурсов - URI), полностью зависит от вас. Каждый такой ресурс должен иметь представление - набор полей и свойств - и вы, как правило, представляете их как XML и / или JSON
С гибкостью WCF вы можете даже сделать и то и другое - если хотите.
SOAP - более традиционный способ работы - профессионалы имеют хорошо документированный интерфейс (вы получаете WSDL - описание веб-службы и несколько схем XSD - XML для описания ваших данных), которые можно «обнаружить» и интерпретируется людьми и компьютерами. С другой стороны, SOAP имеет тенденцию быть немного «тяжелым», и вам нужен специальный клиент SOAP / ваше собственное приложение, чтобы на самом деле получить данные.
REST - более модный и современный способ работы - вы переходите по URL-адресу, и он выдает кучу угловых скобок (или документ JSON). Это быстро, это легко, это здорово - но это менее формализовано, вы не получите никакого машиночитаемого описания сервиса, на самом деле - вам нужно больше узнать / узнать / прочитать документы, чтобы узнать, что вы как вернуться и как его интерпретировать.
Фу, это стало длинным постом !! По сути - я бы оставил вашу текущую службу сбора данных и позволил бы ей работать как есть, и подумал бы о том, как предоставить / сделать доступными данные, которые он собирает, с помощью отдельной службы WCF.
Хорошими вступительными сайтами являются MSDN WCF Developer Center для аспектов WCF на основе SOAP и MSDN WCF REST Developer Center для аспектов WCF на основе REST.