2014-01-20 3 views
1

Мне нужно подключение из документа VISIO в службу WCF.Нажатие данных в реальном времени на microsoft visio с использованием C# и WCF/ServiceCallback

я нашел следующие очень полезные учебники:

How do I call WCF client from Excel 2003 VBA?

http://www.codeproject.com/Articles/662009/Streaming-realtime-data-to-Excel

У меня есть много опыта в создании WCF сервисов и клиентов в C# - но ни в VBA/VISIO-программирования. Первая ссылка помогает подключить клиента VBA к службе WCF и вызвать некоторые методы. Это работает отлично. У нас есть форма VISIO, которая действует как кнопка и вызывает метод службы WCF и отображает результат. Мы знаем, как вызывать методы и отображать значения. Можно нажать кнопку, выполнить запрос на сервер и получить некоторые результаты.

Проблема в следующем: как собирать результаты без пользователя, который нажимает кнопку?

VBA не поддерживает фоновый режим для периодического сбора данных с сервера.

Во второй статье описывается, как передавать данные в EXCEL с использованием EXCEL-DNA. Я не мог найти никакой информации о том, будет ли это работать с VISIO. EXCEL-DNA создаст файл * .XLL, который является плагином для EXCEL, и я думаю, что он не будет работать с VISIO.

Есть ли какие-либо решения для подключения клиента VISIO к службе WCF/C# с помощью ServiceCallback?

+1

нет нет способа сделать это –

+0

Я искренне надеюсь, что вы ошибаетесь. –

+0

Какую версию и версию Visio вы используете? Как есть способы подключения Visio к внешним источникам данных, но доступны только для Professional/Premium. – ywm

ответ

1

Я уверен, что привязки WCF-дуплекса предназначены для использования только в сценариях WCF (то есть, где оба сервиса и клиент являются WCF).

Причина в том, что способ, с которым работают обратные вызовы WCF, заключается в том, что клиент также размещает временную конечную точку службы для вызова службы.

Причина, по которой решение Excel выше работает, заключается в том, что Excel DNA - это оболочка .net, которая, как я полагаю, использует System.ServiceModel для использования службы.

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

+0

Hmpf. I нашел способ использовать Application.OnTime (доступно только для Excel), что позволяет нам опросить значения с сервера. Но почему, черт возьми, Microsoft не поместил этот метод в VBA для VISIO? Надеюсь, что есть способ реализовать опрос для значений. –

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