설치
Doconut을 .NET 8 프로젝트에 추가
.NET 8용 기본 Doconut 뷰어는 모든 ASP.NET Core 애플리케이션에 연결되는 하나의 NuGet 패키지로 제공됩니다. 선택적 플러그인은 별도의 패키지를 사용합니다. 이 페이지에서는 기본 패키지를 설치하고 미들웨어를 등록합니다 — 첫 번째 렌더링 전에 필요한 최소 구성입니다.
패키지 설치
dotnet add package Doconut.NET8버전이 지정되지 않은 명령은 최신 안정 버전을 설치합니다. 현재 26.7.0 릴리스를 정확히 재현하려면 버전을 별도 옵션으로 전달하십시오:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.NET8은 패키지 ID입니다. .26.7.0 접미사는 다운로드된 Doconut.NET8.26.7.0.nupkg 파일명에 속하며 ID의 일부가 아닙니다.
Doconut 등록
AddDoconut()은 유일한 등록 진입점이며 — 단일 오버로드가 존재하고 Viewer 서비스, 라이선스 서비스, 렌더링 인프라를 DI 컨테이너에 연결합니다.
두 개의 미들웨어 호출이 설정을 완성하며, 순서가 중요합니다: UseDoconutResources()는 UseDoconut()보다 먼저 실행되어야 합니다. UseDoconut()는 종료 미들웨어이므로 먼저 호출하면 /doconut-res 자산에 대한 모든 요청이 리소스 핸들러에 도달하지 못하고 404가 발생합니다. 세션 연결도 필요합니다 — Doconut의 기본 문서 보안은 모든 페이지 요청을 ASP.NET 세션 상태와 검증합니다.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddSession(); // Doconut document security rides on ASP.NET session state
app.UseSession(); // call UseSession() before UseDoconut()
app.UseDoconutResources(); // must be registered before UseDoconut()
app.UseDoconut();모든 옵션
DoconutOptions은 다음과 같은 설정 가능한 속성을 제공합니다. 모든 속성은 선택 사항이며, 지정되지 않은 경우 아래 기본값이 적용됩니다.
| 속성 | 기본값 | 설명 |
|---|---|---|
ShowDoconutInfo | false | true일 때, token이 없는 요청은 404 대신 버전 배너를 반환합니다. 간단한 확인용으로 유용하지만, 운영 환경에서는 비활성화하십시오. |
UnsafeMode | false | true일 경우, 페이지 요청 시 ASP.NET 세션 보안 검사를 건너뜁니다. 운영 환경에서는 비활성화하십시오. |
MiddlewarePath | "/doconut" | 페이지-이미지 엔드포인트의 조정 값입니다. 검증은 되지만 자체적으로 브랜치를 마운트하지 않으므로 실제 UseDoconut() 매핑 및 클라이언트 BasePath와 일치하도록 유지하십시오. |
ResourcesPath | "/doconut-res" | 임베드된 JS/CSS/이미지 리소스가 제공되는 경로입니다. |
LicensePath | "" (empty string) | 라이선스 파일 경로입니다. 빈 문자열이면 다음 소스로 넘어가 자동 검색을 시도합니다. |
LicenseContent | "" (empty string) | 원시 라이선스 내용 — 환경 변수, 비밀 관리자 또는 데이터베이스에서 가져옵니다. |
LicenseStream | null | 시작 시 한 번 읽는 스트림 형태의 라이선스입니다. |
ResetLicense | false | 호환성을 위한 예약 플래그입니다. 현재 .NET 8 서비스는 AddDoconut() 중에 라이선스를 읽으며, 라이선스를 교체한 후에는 앱을 재시작하십시오. |
여러 소스가 설정된 경우 라이선스 우선순위는 LicenseStream > LicenseContent > LicensePath > 자동 검색이며, 자세한 내용은 라이선스 설정을 참조하십시오.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // coordinate with app mapping and client BasePath
options.ResourcesPath = "/doconut-res"; // where the viewer's JS/CSS/images are served from
options.UnsafeMode = false; // keep session security on
options.ShowDoconutInfo = false;
});다음 단계
이 페이지가 도움이 되었나요?