#vb.net #vba #web-services #wcf #com
#vb.net #vba #веб-сервисы #wcf #com
Вопрос:
Моя конечная цель — вызвать веб-службу из VBA в Microsoft Access 2010. Я решил, что лучший способ добиться этого — написать сборку COM Visible для использования веб-службы и действовать как мост между Microsoft Access (VBA 7) и веб-службой.
Я пробовал с обоими ASP.Net Веб-приложение / служба и приложение-служба WCF с использованием Visual Studio 2010.
Это решение отлично работает для простых типов данных, таких как строки, целые числа и т.д., Но пользовательские классы просто не видны из приложения, ссылающегося на COM visible assembly.
Как их можно сделать видимыми для COM?
Прошу прощения, если все это не имеет никакого смысла — мой мозг сгорел!
Комментарии:
1. Опубликуйте код, который у вас есть до сих пор.
2. Оформлены ли классы
<ComVisible(True)>
?3. @dee, я постараюсь опубликовать некоторый код завтра.
4. @Comintern, классы, определенные в моей сборке, украшены <ComVisible(True), Guid(«некоторый идентификатор guid»), ClassInterface(ClassInterfaceType.AutoDual)> . Проблема не в этих классах — проблема в том, что я пытаюсь передать классы, определенные в веб-службе, в качестве параметров. Я задавался вопросом, могу ли я просто добавить <ComVisible(True)> к классам в веб-приложении WCF… но я сомневаюсь, что эти украшения будут переданы из веб-приложения в ссылку на службу, созданную WSDL …? Я полагаю, я мог бы вручную добавить эти украшения в сгенерированный код?
5. Следуете ли вы рекомендациям, описанным в Пошаговом руководстве: создание COM-объектов с помощью Visual Basic ?