Процесс запускается и Олицетворение

Есть два способа, которыми вы можете использовать, чтобы развернуть значение Observable.

  1. Используя трубу async в вашем шаблоне:

    <p>Am I logged In: {{ $isLoggedinSource | async }}</p>

ИЛИ [1116 ]

  1. Согласно subscribe Обнаруживаемому в вашем Компоненте:
<час>
import { Subscription } from 'rxjs';

...

subscription: Subscription;

...

this.subscription = this.$loggedin
  .subscribe(data => console.log('am i logged in ', data));

...

ngOnDestroy() {
  this.subscription.unsubscribe();
}

Какой использовать?

Если это $loggedin Observable повторяется, и вы используете подход 2, затем вам нужно будет присвоить его типизированному свойству Subscription и затем вызвать unsubscribe для него внутри ngOnDestroy.

При первом подходе вам не обязательно делать это.

7
задан marc 8 December 2008 в 17:37
поделиться

4 ответа

Необходимо поместить привилегированный код в GAC (или работать в полном доверии).

Код в GAC должен утверждать XXXPermission, где XXX то, что когда-либо разрешение, которое Вы запрашиваете, это олицетворение, доступ к жесткому диску или что имеет Вас.

Необходимо сразу вернуться утверждение послесловий.

Необходимо удостовериться, что API на DLL, что Вы вставляете GAC, не имеет никаких возможностей для злоупотребления. Например, если бы Вы писали веб-сайт для разрешения пользователям резервировать сервер с помощью приложения командной строки, то Ваш API должен старый выставлять метод как "BackUp ()" и не "LaunchAribitraryProcess (строковый путь)"

web.config файлу нужно было настроить олицетворение также, или Вы столкнетесь с проблемами разрешения NTFS, а также CAS.

Вот полное объяснение.

3
ответ дан 7 December 2019 в 14:39
поделиться

Что точно Вы пытаетесь сделать? Я не могу вполне видеть то, что точка Вашего кода находится в создании другого исполняемого файла. Это выглядит довольно нечетным. Возможно, было бы более полезно указать бизнес-проблему, которую Вы пытаетесь решить сначала.

0
ответ дан 7 December 2019 в 14:39
поделиться

Похоже, что Вы пытаетесь сделать, чтобы IIS обслужил, исполняют роль пользователя с более высокими полномочиями, чем сам сервис (в этом случае, администратор). Windows блокирует это как дыру в системе безопасности, с тех пор в той точке Вы в основном просите кого-то принимать Вашу систему. Может быть способ работать вокруг этого ограничения, но не делает этого - это для Вашей собственной пользы.

Вместо этого имейте IIS, исполняют роль пользователя с ограниченными полномочиями, у которого есть точно права, которые Вам нужен он, чтобы иметь. Например, создайте учетную запись пользователя, которая владеет только папками, которые Вы хотите, чтобы Ваш веб-сервис записал в, или независимо от того, что другая комбинация прав является соответствующей. При исполнении роли ограниченного пользователя Вы не будете видеть этот код ошибки, но должны все еще смочь назвать мягкий исполняемый файл, который Вы имеете здесь.

0
ответ дан 7 December 2019 в 14:39
поделиться

Вы также можете попробовать заключить свой код в

using (Impersonator person = new Impersonator("domainName", "userName",
"password")
{
    // do something requiring special permissions
}

, как указано в http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic62740.aspx

1
ответ дан 7 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: