설치

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.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은 다음과 같은 설정 가능한 속성을 제공합니다. 모든 속성은 선택 사항이며, 지정되지 않은 경우 아래 기본값이 적용됩니다.

속성기본값설명
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 > 자동 검색이며, 자세한 내용은 라이선스 설정을 참조하십시오.

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

다음 단계

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

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