Есть несколько причин, по которым это может не сработать.
Во-первых, вызов RunImpersonated
с использованием текущего токена пользователя немного избыточен.
Во-вторых, все зависит от того, настроили ли вы ограниченное делегирование для учетных записей служб. Учетная запись службы, к которой запускается это приложение, требует разрешения на делегирование для любой службы, работающей за uri
.
В-третьих, Windows не позволит вам получить права на сетевое олицетворение на машине без необходимых привилегий, в частности SeImpersonatePrivilege
. Это предоставляется только SYSTEM
. Обычное решение - запустить его как службу Windows (или позволить IIS позаботиться об этом).