У меня сложный вопрос, и я надеюсь, что кто-нибудь сможет мне помочь (это очень важно для меня).
Мой сайт должен выполнять автоматический вызов через клиент Lync, если кто-то выполняет на веб-сайте определенное действие. По этой причине вызывается командный файл, и этот файл bat вызывает мою программу с параметрами.
Это звучит как вопрос о кодировании для stackoverflow, но все работает нормально на моем компьютере и даже на сервере, когда моя программа вызывается вручную. Проблема возникает, когда мой веб-сайт mvc вызывает программу, особенно эту функцию LyncClient.GetClient();
Я получаю исключение «Хост-процесс не запущен». На моем ноутбуке вызов инструмента через веб-сайт работает при отладке в VS2012. Я знаю, что процесс запущен, потому что я могу закрыть его через диспетчер задач, и он вызывается через мою программу, когда я снова запускаю его. Эта функция LyncClient.GetClient();
встроен.
Любые идеи? Я предполагаю, что это должно быть связано с пользователем веб-сайта, у которого может быть недостаточно прав для доступа к клиенту lync.
Я не программист @yourmother, но похоже, что если вы получаете сообщение «хост-процесс не запущен», то все, что пытается вызвать клиент Lync, не работает в том же контексте, что и вызывающее приложение / программа.
Оглядываясь вокруг, оказывается, что это так: http://social.msdn.microsoft.com/Forums/en-US/communicatorsdk/thread/582cab2e-d51a-4bfe-b4cc-1eed92411754/
Проблема в том, что клиент Lync работает на рабочем столе пользователя в контексте этой рабочей станции. Ваше приложение ASP.NET выполняется в контексте отдельной рабочей станции в рамках процесса IIS и не имеет доступа к клиенту Lync, запущенному в контексте пользователя.
В IIS вы ничего не можете сделать, чтобы это исправить. Если вы сообщите нам, чего вы пытаетесь достичь, возможно, мы сможем предложить другой подход.
И исправление, которое они предлагают, - использовать API UCMA, найденный здесь: http://www.microsoft.com/download/en/details.aspx?id=10566 или, возможно, используйте SDK, найденный здесь: http://www.microsoft.com/en-us/download/details.aspx?id=18898
Это помогает? Я не хотел, чтобы это был комментарий ради форматирования, но я удалю это как ответ, если это не так или вы уже это знаете ...
Для меня решение заключалось в том, чтобы мой Инструмент работал с учетной записью «Администратор». Мне пришлось изменить настройку реестра для автоматического входа. Я просто создаю файл, если вызов должен начаться, и удаляю его, когда он должен остановиться. Инструмент проверяет каждые секунды просмотра, существует ли этот файл, и выполняет вызов Lync, только если он существует.
Я знаю, что это не лучший способ, но он работает в срок. MS имеет некоторые проблемы совместимости со всеми Lync SDK с различными версиями Lync Client / Lync Server и версиями Visual Studio.