.NET Core Plugin Architecture in the IIS Administration API with Jimmy Campbell

안녕 코드 대화에 오신 것을 환영합니다

오늘 우리는 지미 캠벨과 이야기하고 있습니다 무엇인가 지미 보여줄거야? 오늘 우리가 얘기 할거야 Microsoft IIS 관리 API 따라서 새로운 REST 기반 API 인 IIS 팀은 소비자가 HTTP를 통해 IIS를 완벽하게 구성 할 수 있도록 노력하고 있습니다 당신은 당신이 원하는 모든 종류의 클라이언트를 사용할 수 있습니다 여부를 휴대 전화 또는 PowerShell 또는 원하는대로 웹 서버를 구성 할 수 있습니다 웹 응용 프로그램 만들기 또는

오른쪽, 오른쪽, 귀하의 웹 사이트, App Pools, 모든 IIS 리소스, 여기에서 바로 할 수 있습니다 굉장해 이것이 Code Conversations이므로 오늘 코드로 건너 뛰고 싶습니다

누군가가 공헌하기 시작하는 토지의 종류를주는 것 이 레포에 대해 내가 알고 싶어하는 것들을 좋아 따라서 Microsoft IIS Administration API에는 내장 된 API 탐색기가 있습니다 지금 내 스크린에서 볼 수 있으므로 API에 노출 된 모든 엔드 포인트는 이 도구에서 바로 인증서 파일과 웹 서버가 있습니다 따라서 웹 서버를 클릭하면 모든 IIS 구성이 나타납니다 여기에 우리는 IIS를위한 끝점을 가지고 있습니다

우리는 인증, 승인, 응용 프로그램 풀 서버 관리자가 갈 표준 모든 것들 빵과 버터가 무엇인지 잘 아는 것이 좋습니다 이 모든 것이 연결되어 있습니다

그래서 이것을 클릭하면 HTTP 응답이 무엇인지 알 수 있습니다 나는 이것을 얻을 것이고 나는이 호출을 정확하게한다 그래서 이것은 정말로 유용하다 이 API가 지금이 도구에서 멋지게 드러내는 것을 알아 내고 Microsoft IIS Administration API의 아키텍처가 바로 여기 링크는 IIS 관리 응용 프로그램 내부의 플러그인입니다 괜찮아

그래서 이것은 NET Core입니다 ASP

NET Core 어플리케이션 우리는 하나의 main DLL은 Microsoft가 응용 프로그램을 부트 스트랩하는 관리 DLL입니다 기본 문서 플러그인과 같은 플러그인, 인증 플러그 인, 권한 플러그인 노출 된 플러그인 종점 괜찮아 그래서 그들은 그들 자신의 컨트롤러를 가지고 있습니다

미들웨어이기 때문에 매우 흥미 롭습니다 내가 듣는 것입니다 사람들이 사람들에게 물어 보는 방법은 플러그인을 기반으로하는 방법을 묻는 것입니다 그래서 당신이 바로 그 일을했는지 ​​보니 정말 흥미 롭습니다 그래서 웹 서버 플러그인 자체가 주 응용 프로그램에 관한 것들을 노출합니다

컨트롤러와 같은 것을 실행하는 것에 대해서는 전혀 모른다 그래서 오늘 나는 사고 싶다 코드에 삽입하고 정확히 어떻게 생성했는지, 어떻게 작동 하는지를 정확하게 보여줍니다 여기 얼음 관리 API의 시작 코드가 있습니다 기본은

당신은 진짜 빠른 것을 확대 할 수 있습니까? 아, 그래 완벽한 아니면 조금 더 나는 늙어 괜찮아 우리는 거기에 갈

그래서 여기에 우리는 얼음 관리 API의 시작 코드는 그냥 일반적인 ASPNET 코어입니다 응용 프로그램과 당신이 바로 여기에 그것을보고 그것은 당신이 기대하는 일을하고 있어요 ASPNET 코어 용 샘플 코드에는 configure 서비스 호출이 있으며 또한 configure 호출을 가지고있어서 그것이 서비스를 추가하는 곳입니다 이제 우리는 플러그인까지 열린 컨테이너를 추가하는 서비스를 사용하고 있습니다

모델은 우리가 시작할 때 모듈 JSON 파일을로드하는 것을 볼 수있다 이것은 IIS를위한 모든 플러그인을 말하는 텍스트 파일이 될 것입니다 어, 우리가 그들을로드하기를 원 하든지 또는 사용하지 못하게 할 것인지에 관계없이 관리 API 이제 모듈 JSON 파일을 사용하여 모듈 로더를 만든 다음 로드를 정의하려면 여기에로드하거나 실제로 모듈 로더로 이동하십시오

여기로드 모듈이라고 부릅니다 플러그인에 대한 거의 모든 검사는 제품에 포함 된 모든 DLL을 검사합니다 우리가 그들을로드하는 폴더 그들은 모두 시작 유형을 구현합니다 모듈 인터페이스이므로 예제 플러그인으로 넘어갑니다

여기 당신은 이것이 스타트 업이며 기본 모듈과베이스에서 확장 된 것을 볼 수 있습니다 모델 기본 모듈은 모듈을 구현하므로 기본 애플리케이션이로드됩니다 Microsoft IIS Administration Web Werver dot 사이트에서 시작 클래스를 얻은 다음 어떻게 할 것인지는 자신의 ASPNET Core 응용 프로그램처럼 취급하는 것입니다 오 와우! 서비스를 추가 할 수있게하고 서비스를 사용할 수 있도록 할 것입니다

그래서 그것은 당신 자신에 달려 있습니다 당신이 생각할 필요가없는 것과 같습니다 당신이 플러그인이라는 사실 그래서 컨트롤러와 그 모든 것을 등록 할 수 있습니다 번호 하나처럼이 코드를 보는 것을 좋아하는 사람의 관점 플러그인 작성자가 자신 만의 플러그인을 만들고 싶다면이 기능이 좋습니다

그렇다고해도 불가능하지 않습니다 그래서이 접근법은 어디에서나 실행 가능합니다 사실 그 주요 응용 프로그램은 등록을위한 좋은 모델을 누른 다음 플러그인을 사용하면 분명히 그 플러그인을 복제 할 수 있습니다 그 인터페이스는 네가 우리가하는 것과 똑같이 할 수있다 그 행동을 멋지게 복제하는 그런 종류의 일반 아키텍처 관리 API 작동 방식 플러그인 하나가 모두로드되었습니다

주요 응용 프로그램과 우리의 의제에 대한 마지막 한가지로 그것은 오픈 소스입니다 여기 저장소가 있습니다 그리고 이것들은 모두 플러그인입니다 그리고 주요 응용 프로그램은 제가 이야기하고있는 것처럼 당신이 계속하기를 원한다면 여기에 기부를 시작하십시오 고마워

아주 멋지다 무리 감사