Мое намерение состоит в том, чтобы запустить веб-службу, которая обращается к собственным функциям C++. Поэтому я создал сервисное приложение WCF (которое содержит контракт и реализацию), которое ссылается на оболочку C++/CLI вокруг моего собственного кода C++. Я сделал следующие шаги (после 2b из http://blogs.msdn.com/b/jorman/archive/2007/08/31/loading-c-assemblies-in-asp-net.aspx)
- Собственный C++ API экспортируется.
- Собственные dll C++ загружаются с "отложенной загрузкой"
- Я установил путь для родной dll и ее сторонних dll в Web.config.
- определил asp-совместимость в файле web.config
- Определен файл Global.asax для доступа к пути загрузки собственных dll.
Я могу запустить службу до тех пор, пока не создам объект-оболочку, который создает собственный объект C++ в конструкторе. Проблема заключается в создании собственного объекта C++. Если я протестирую его с помощью WCFTestClient, я получу неспецифические ошибки:
Не удалось вызвать службу. Возможные причины: Служба отключена или недоступна.
Мой вопрос: что-то не так в этой концепции? Я могу использовать эту оболочку и собственный объект C++, если вызову его из проекта C#. Должен ли я выбрать другой тип проекта, кроме приложения-службы WCF?
Спасибо за помощь!