설치

Doconut을 .NET 8 프로젝트에 추가

.NET 8용 기본 Doconut 뷰어는 모든 ASP.NET Core 애플리케이션에 연결되는 하나의 NuGet 패키지로 제공됩니다. 선택적 플러그인은 별도의 패키지를 사용합니다. 이 페이지에서는 기본 패키지를 설치하고 미들웨어를 등록합니다 — 첫 렌더링 전에 필요한 최소 구성입니다.

패키지 설치

bash
dotnet add package Doconut.NET8

버전이 지정되지 않은 명령은 최신 안정 버전을 설치합니다. 현재 26.7.0 릴리스를 정확히 재현하려면 버전을 별도 옵션으로 전달하십시오:

bash
dotnet add package Doconut.NET8 --version 26.7.0

Doconut.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 세션 상태와 검증합니다.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // 세션 상태에 캐시가 필요합니다 (MVC/Razor Pages는 이미 하나를 추가합니다)
builder.Services.AddSession(); // Doconut 문서 보안은 ASP.NET 세션 상태에 의존합니다

app.UseSession();          // UseSession()을 UseDoconut()보다 먼저 호출합니다
app.UseDoconutResources(); // UseDoconut()보다 먼저 등록되어야 합니다
app.UseDoconut();

모든 옵션

DoconutOptions는 다음과 같은 설정 가능한 속성을 허용합니다. 모든 속성은 선택 사항이며 — 속성이 설정되지 않으면 아래 기본값이 적용됩니다.

속성기본값설명
ShowDoconutInfofalsetrue인 경우, token이 없는 요청은 404 대신 버전 배너를 반환합니다. 스모크 체크에 유용하지만, 프로덕션에서는 사용하지 않도록 합니다.
UnsafeModefalsetrue인 경우, 페이지 요청 시 ASP.NET 세션 보안 검사를 건너뜁니다. 프로덕션에서는 사용하지 않도록 합니다.
MiddlewarePath"/doconut"페이지-이미지 엔드포인트의 조정 값입니다. 검증은 되지만 자체적으로 브랜치를 마운트하지는 않으며, 실제 UseDoconut() 매핑 및 클라이언트 BasePath와 일치하도록 유지하십시오.
ResourcesPath"/doconut-res"임베디드된 JS/CSS/이미지 리소스가 제공되는 경로입니다.
LicensePath"" (empty string)라이선스 파일 경로입니다. 빈 문자열이면 다음 소스로 넘어가 자동 검색을 시도합니다.
LicenseContent"" (empty string)원시 라이선스 내용 — 환경 변수, 비밀 관리자, 또는 데이터베이스에서 가져옵니다.
LicenseStreamnull시작 시 한 번 읽는 스트림 형태의 라이선스입니다.
ResetLicensefalse예약된 호환성 플래그입니다. 현재 .NET 8 서비스는 AddDoconut() 중에 라이선스를 읽으며, 라이선스를 교체한 후 앱을 재시작하십시오.

여러 소스가 설정된 경우 라이선스 우선순위는 LicenseStream > LicenseContent > LicensePath > 자동 검색 순입니다 — License Setup 참고.

csharp
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;
});

다음 단계

  • 빠른 시작 — 첫 문서를 열고 브라우저에서 렌더링합니다.
  • 라이선스 설정 — Doconut이 라이선스 파일을 찾는 위치입니다.

이 페이지가 도움이 되었나요?