PowerShell
으로 작동하도록 설계된 일부 개체를 쓰고 있습니다. PowerShell
콘솔에 비동기 적으로 직접 쓸 수있는 기능을 원합니다. 지금까지 , 나는 다음과 같은 한 :PowerShell 호스트에 비동기 쓰기
- 을 만들어를 WriteLine과 같은 몇 가지 방법을 노출하는 IUtilityHost 인터페이스 나는 PSUtilityHost의 인터페이스를 구현 : IUtilityHost 클래스
- 이 구현 된 PSHost 객체를 WriteLine 메서드를 래핑 PSHost.UI 개체에서 WriteLine 메서드를 호출하여 구현됩니다.
문제는 수동 입력이 필요할 때 실행을 차단하기 위해 가끔씩 필요한 메시지 인 Read-Host
을 섞어서 출력한다는 것입니다.
비동기 적으로 powershell 호스트에 메시지를 보내는 더 좋은 방법이 있는지 알고 싶습니다. C 번호에서 호스트 개체를 잡아이 예를 수행하기 위해 쓰기 * 방법을 사용하는
감사
PowerShell 호스트를 직접 만들고 있습니까? 그렇다면 호스트 UI 구현을 완벽하게 제어 할 수 있습니다. 그렇지 않은 경우 코드를 호스트에 쓰고 항상 cmdlet의 실행 컨텍스트로 실행해야합니까? 또는 사용자가 스크립트에서 개체를 호출 할 수 있으며 결과적으로 개체가 호스트에 기록 (cmdlet 호출 컨텍스트 외부) 할 수 있습니까? –
첫 번째 인스턴스에서는 PowerShell 콘솔의 기본 PSHost를 사용하고 싶지만 나중에 다른 사용자 지정 호스트와도 다시 사용하고 싶습니다. 그래서 표준 방법과 패턴을 사용하는 것을 선호합니다. 개체는 스크립트에 있지만 본질적으로 양방향 WCF 서비스를 호스팅하며 일부 특정 메서드를 사용하여 클라이언트에 "응답"할 수 있도록 PowerShell 콘솔에 요청 로그를 작성하려고합니다. 따라서 개체는 cmdlet 호출 컨텍스트 외부에 있습니다. – fra