Как я звоню клиенту WCF от Excel 2003 VBA?

Я считаю, что вам нужно установить CUDA_VISIBLE_DEVICES=1. Или какой GPU вы хотите использовать. Если вы сделаете видимым только один графический процессор, вы будете называть его /gpu:0 независимо от того, какую переменную среды вы установили.

Подробнее об этой переменной среды: https://devblogs.nvidia.com/cuda-pro-tip-control-gpu-visibility-cuda_visible_devices/

.

12
задан abatishchev 29 September 2013 в 23:06
поделиться

4 ответа

Я сделал это с ограниченным успехом, используя Office 2003 Web Services Toolkit , но не без некоторой боли.

Обратите внимание, что это не поддерживается Microsoft, и имеет ряд ограничений, которые могут сделать его непригодным для промышленного использования. Например, он не поддерживает веб-службы, которые возвращают пустые коллекции: см. этот вопрос StackOverflow .

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

Microsoft рекомендует использовать VSTO, но это нелегко интегрировать с VBA ...

1
ответ дан 2 December 2019 в 19:55
поделиться

Некоторое время я безуспешно пытался вызвать службу wcf на основе SOAP из excel vba.

Вместо этого я изменил свою службу на привязку REST (webHttpBinding). Таким образом, я мог загружать данные прямо в карту xml, как любой другой файл xml. У меня все получилось, но я только пытался импортировать некоторые данные.

Что касается SOAP; ответ в этом вопросе упоминает набор инструментов веб-служб, все примеры, которые я мог найти, предлагаемые для использования.

2
ответ дан 2 December 2019 в 19:55
поделиться

Я бы не стал использовать VSTO в этом случае. COM-взаимодействие, вероятно, лучший способ, если вам не нужна защита ваших сообщений SOAP.

  1. Написать клиент WCF с необходимой привязкой
  2. Открыть сборку для COM-взаимодействия
  3. Ссылка на открытую сборку в Excel VBA
2
ответ дан 2 December 2019 в 19:55
поделиться

You might want to look at using the WCF Service Moniker which lets you invoke a WCF Service from VBA without installing anything on the Excel client machine other than the .NET Framework.

Dim addr As String
addr = "service:mexAddress=""net.tcp://localhost:7891/Test/WcfService1/Service1/Mex"","
addr = addr + "address=""net.tcp://localhost:7891/Test/WcfService1/Service1/"","
addr = addr + "contract=""IService1"", contractNamespace=""http://tempuri.org/"","
addr = addr + "binding=""NetTcpBinding_IService1"",bindingNamespace=""http://tempuri.org/"""

Dim service1 As Object
Set service1 = GetObject(addr)

MsgBox service1.GetData(12)

I've written out a complete step-by-step example.

/Damian

12
ответ дан 2 December 2019 в 19:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: