Я использую службу WCF, которая работает на IIS 7.5 (W2k8 R2). Я использую этот сервис для получения информации о квотах пространства указанного веб-сайта на том же IIS.
Итак, у меня есть служба WCF, выступающая в роли сервера, и локальное веб-приложение, действующее в качестве клиента. Теперь клиент запрашивает у сервера квоту на папку веб-сайта. Для этого сервер должен использовать FsrmQuotaManager
. Но когда служба ссылается на менеджер квот, я получаю 0x80070005 (Access denied)
. Веб-служба работает в своем собственном AppPool с ApplicationPoolIdentity.
Я всегда получал ошибки DistributedCOM (10016) в журнале событий, говоря, что The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID
{90DCAB7F-347C-4BFC-B543-540326305FBE} and APPID {FA3FC5CF-0304-4CAC-99F0-032AC2B15D1E}
to the user MYDOMAIN\someUsername SID (S-1-5-21-1477432904-898564541-3754644009-3102) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.
Так что мне уже удалось добавить разрешение для этого пользователя (или лучше группы, в которой находится пользователь) в ComponentServices, как я часто читал при поиске Интернет. Теперь я больше не получаю эту ошибку в средстве просмотра событий, но когда я ссылаюсь на FsrmQuotaManager
в коде служб, я все еще получаю исключение.
Кто-нибудь знает об этом? Я действительно застрял в этом в течение нескольких дней, и у меня заканчиваются идеи. Использование Process Monitor
не помогает.