설치
Doconut을 .NET 6 프로젝트에 추가
.NET 6용 기본 Doconut 뷰어는 모든 ASP.NET Core 애플리케이션에 연결되는 하나의 NuGet 패키지로 제공됩니다. 선택적 플러그인은 별도의 패키지를 사용합니다. 이 페이지에서는 기본 패키지를 설치하고 미들웨어를 등록합니다 — 첫 번째 렌더링 전에 필요한 최소 구성입니다.
패키지 설치
dotnet add package Doconut.NET6버전이 지정되지 않은 명령은 최신 안정 버전을 설치합니다. 현재 26.7.0 릴리스를 정확히 재현하려면 버전을 별도 옵션으로 전달하십시오:
dotnet add package Doconut.NET6 --version 26.7.0Doconut.NET6은 패키지 ID입니다. .26.7.0 접미사는 다운로드된 Doconut.NET6.26.7.0.nupkg 파일명에 포함된 것이며 ID의 일부가 아닙니다.
업그레이드 전에 통합 식별
Doconut.NET6 패키지 ID는 클래식 통합과 현재 .NET 6 통합 모두에서 사용되었습니다. 패키지 이름만으로 문서를 선택하지 마세요:
DocImage.axd,new Viewer(_cache, _accessor, ...), 동기OpenDocument(...), 그리고 수동으로 복사한 뷰어 스크립트는 클래식 통합을 식별합니다;AddDoconut(),UseDoconutResources(), 주입된Viewer, 그리고OpenDocumentAsync(...)는 여기에서 문서화된 현재 통합을 식별합니다.
번역된 클래식 설정 매뉴얼은 여전히 제공됩니다. 마이그레이션 가이드를 사용하여 세대를 변경하십시오; 일반적인 패키지 업데이트는 시작 설정, 뷰어 수명, 또는 브라우저 리소스를 자동으로 변환하지 않습니다.
Doconut 등록
AddDoconut()은 유일한 등록 진입점입니다 — 단일 오버로드가 있으며 Viewer 서비스, 라이선스 서비스, 그리고 렌더링 인프라를 DI 컨테이너에 연결합니다.
두 개의 미들웨어 호출이 설정을 완료하며, 순서가 중요합니다: UseDoconutResources()는 UseDoconut()보다 먼저 실행되어야 합니다. UseDoconut()는 최종 미들웨어이므로 먼저 호출하면 /doconut-res 자산에 대한 모든 요청이 리소스 핸들러에 도달하지 못하고 404가 발생합니다. 세션 연결도 필요합니다 — Doconut의 기본 문서 보안은 모든 페이지 요청을 ASP.NET 세션 상태와 검증합니다.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // 세션 상태에 캐시가 필요합니다 (MVC/Razor Pages는 이미 하나를 추가합니다)
builder.Services.AddSession(); // Doconut 문서 보안은 ASP.NET 세션 상태에 의존합니다
app.UseSession(); // UseDoconut()보다 먼저 UseSession()을 호출합니다
app.UseDoconutResources(); // UseDoconut()보다 먼저 등록되어야 합니다
app.UseDoconut();모든 옵션
DoconutOptions는 다음과 같은 설정 가능한 속성을 허용합니다. 모든 속성은 선택 사항이며 — 아래 기본값은 속성을 설정하지 않을 경우 적용됩니다.
| Property | Default | Description |
|---|---|---|
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 6 서비스는 AddDoconut() 중에 라이선스를 읽으며, 라이선스를 교체한 후 앱을 재시작하십시오. |
여러 소스가 설정된 경우 라이선스 우선순위는: LicenseStream > LicenseContent > LicensePath > 자동 검색 — 라이선스 설정을 참고하십시오.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // 앱 매핑 및 클라이언트 BasePath와 조정합니다
options.ResourcesPath = "/doconut-res"; // 뷰어의 JS/CSS/이미지가 제공되는 위치
options.UnsafeMode = false; // 세션 보안을 유지합니다
options.ShowDoconutInfo = false;
});다음 단계
이 페이지가 도움이 되었나요?