|
WCF служба запускается только с правами админа
|
|||
---|---|---|---|
#18+
Доброго времени суток. Написал неольшую WCF службу (читаю книгу по теме), которая является плагином к AutoCAD. Посредством этой службы взаимодействую с консолью AutoCAD из внешний приложений, не зависимо от того, какой именно процесс запущен: acad.exe или accoreconsole.exe (второй вариант не имеет COM API). Упрощённо код запуска службы выглядит так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Пользователи работают в AutoCAD с ограниченными правами и в этом случае в строке кода, помеченной комментарием, я получаю исключение: ExceptionException: HTTP could not register URL http:// :8000/CadServices/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). Если запускать AutoCAD с правами администратора, то служба запускается нормально. Можно ли запускать службу, хостящуюся в некотором приложении (в моём случае - в AutoCAD) не прибегая к правам администратора для запуска exe и не назначения юзеру дополнительных прав? Т.е. чтобы пользователь скопировал себе на компьютер мою DLL, загрузил её в AutoCAD и всё сразу бы работало, не требуя дачи разрешений от админа? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 21:07 |
|
WCF служба запускается только с правами админа
|
|||
---|---|---|---|
#18+
Compositum, использование http байндинга обязательно? Эта служба будет доступна через сеть? Может, перейти на tcp binding? В этом случае, если не ошибаюсь, админские права не нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 22:11 |
|
WCF служба запускается только с правами админа
|
|||
---|---|---|---|
#18+
petalvik, Вообще планируется преимущественно локальное использование (в 90% случаев). Спасибо, попробую завтра на tcp. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2014, 22:20 |
|
WCF служба запускается только с правами админа
|
|||
---|---|---|---|
#18+
petalvikМожет, перейти на tcp binding? В этом случае, если не ошибаюсь, админские права не нужны. Сначала вылезло сообщение от брэндмауэра, мол запретить или разрешить работу? Дал разрешение, служба запускается. Однако на стороне клиента получаю такое сообщение об ошибке: Ошибка на стороне клиента"net.tcp://localhost:8000/CadService" не поддерживает запрошенное обновление. Это может быть вызвано несоответствием привязок (например, защита включена на клиенте, но не на сервере). О каких обновлениях и защите речь? При настройке конечной точки сервиса я указывал SecurityMode.None. Код запуска службы, с учётом модификаций под TCP сейчас такой: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
Конфигурационный файл клиента выглядит так: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2014, 13:16 |
|
WCF служба запускается только с правами админа
|
|||
---|---|---|---|
#18+
Compositum, По умолчанию для tcp биндинга безопасность включена на уровне транспорта. Т.е. в настройках клиента нужно создать настройку биндинга и там явно выключить безопасность. Ну или сделать это в коде при создании клиентского канала - как вам удобнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2014, 19:12 |
|
|
start [/forum/topic.php?fid=19&msg=38622935&tid=1396986]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 147ms |
0 / 0 |