ASP 구성.NET Core IDistributedCache
ASP를 사용할 수도 있습니다..NET Core 세션 NCache의 IDistributedCache
공급자. ASP.NET Core 제공 AddDistributedMemoryCache
기본 구현을 추가하는 메서드 IDistributedCache. 그러나 활용하기에는 NCache ASP.NET 세션이나 개체를 저장하기 위한 분산 캐시로, NCache 자체 확장 방법을 제공하며, AddNCacheDistributedCache
, 추가 NCache 구현으로 기본 분산 캐시로 IDistributedCache
.
ASP 구성을 위한 전제 조건.NET Core IDistributedCache
- 다음 NuGet 패키지를 애플리케이션에 설치하십시오. NCache 버전 :
- 확장을 활용하려면 애플리케이션에 다음 네임스페이스를 포함하십시오. Startup.cs:
- 캐시가 실행 중이어야 합니다.
- API 세부 정보는 다음을 참조하세요. 추가NCache분산 캐시, 추가NCache분산 캐시 제공자.
- 추가되는 데이터가 직렬화 가능.
- 작업이 안전하도록 하려면 에 설명된 대로 응용 프로그램 내에서 잠재적인 예외를 처리하는 것이 좋습니다. 처리 실패.
- 보이지 않는 예외를 처리하려면 다음을 참조하십시오. 문제해결 안내
1단계: 서비스 구성
NCache 제공 AddNCacheDistributedCache
확장 방법 켜기 IServiceCollection
, 캐시 이름만 있으면 됩니다. NCache 세션을 저장하기 위한 선택적 구성입니다. 구성 개체는 다음과 같습니다. NCache ASP.NET Core 비슷하게 초기화할 수 있는 세션 공급자. 구성은 다음을 통해 제공될 수 있습니다. IOptions
초기화 장치도 마찬가지입니다.
구성을 지정하는 방법에는 두 가지가 있습니다.
- 귀하의 신청서를 통해 Startup.cs or
- JSON 형식으로 앱 설정.json 응용 프로그램의.
방법 1: Startup.cs에서 구성 지정
단일 캐시에 대해 Startup.cs를 구성합니다.
XNUMXD덴탈의 AddNCacheDistributedCache
메소드는 의 확장입니다. AddDistributedCache
ASP에서 제공하는 메소드.NET Core. 이 방법은 구성 설정을 다음에서 사용합니다. Startup.cs 애플리케이션의 내용을 읽거나 지정된 JSON 파일에서 읽습니다.
다음 메소드와 옵션을 추가하세요. Startup.cs 귀하의 응용 프로그램:
public void ConfigureServices(IServiceCollection services)
{
//Add framework services
services.AddMvc();
services.AddNCacheDistributedCache(configuration =>
{
configuration.CacheName = "demoCache";
configuration.EnableLogs = true;
configuration.ExceptionsEnabled = true;
});
}
여러 캐시에 대해 Startup.cs를 구성합니다.
주의 사항
이 기능은 NCache Enterprise 로 작성되어야 합니다.
XNUMXD덴탈의 AddNCacheDistributedCacheProvider
의 확장이다. AddDistributedCache
ASP에서 제공하는 메소드.NET Core. 이 방법은 다음에서 구성 설정을 사용합니다. Startup.cs 귀하의 신청서. 다음을 사용하여 여러 캐시를 구성할 수 있습니다. AddNCacheDistributedCacheProvider
방법은 다음과 같습니다.
public void ConfigureServices(IServiceCollection services)
{
//Add framework services
services.AddMvc();
services.AddNCacheDistributedCacheProvider( options =>
{
options.CacheConfigurations = new NCacheConfiguration[] {
new NCacheConfiguration() {
CacheName = "demoClusteredCache",
EnableLogs = true,
ExceptionsEnabled = true
},
new NCacheConfiguration(){
CacheName = "demoCache",
EnableLogs = true,
ExceptionsEnabled = true }
};
});
}
방법 2: Appsettings.json에서 구성 지정
다음에서 JSON 형식의 애플리케이션 내 구성을 지정할 수도 있습니다. 앱 설정.json 당신의 응용 프로그램의. 이 방법을 사용하면 JSON 형식 구성이 포함된 섹션의 이름을 에 제공하여 구성을 참조할 수 있습니다. Startup.cs.
단일 캐시에 대해 Appsettings.json 구성: 구성 앱 설정.json 다음과 같이 단일 캐시를 구성하려면 애플리케이션 파일을 사용하세요.
{
"AppSettings": {
"SiteTitle": "ASP.NET MVC Music Store",
"CacheDbResults": true,
},
"NCacheSettings": {
"CacheName": "demoCache",
"EnableLogs": "True",
"RequestTimeout": "90"
},
}
다음 구성을 참조하세요. Startup.cs 다음과 같이 :
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCache(Configuration.GetSection("NCacheSettings"));
services.AddSession();
}
여러 캐시에 대한 Appsettings.json 구성:
구성 앱 설정.json 다음과 같이 여러 캐시를 구성하려면 애플리케이션 파일을 사용하세요.
"NCacheFactorySettings": {
"NCacheConfigurations": [
{
"CacheName": "demoClusteredCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
"CacheName": "demoCache",
"EnableLogs": true,
"RequestTimeout": "90"
},
{
// Configure more caches
}
]
}
사용 AddNCacheDistributedCacheProvider
참조하는 방법 NCacheFactorySettings
~의 섹션 Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services
services.AddMvc();
// Add services to the container
services.AddNCacheDistributedCacheProvider(_config.GetSection("NCacheFactorySettings"));
services.AddSession();
}
2단계: 애플리케이션에 미들웨어 추가
분산 캐시가 서비스에 추가되면 세션은 데이터를 다음 위치에 저장할 수 있습니다. NCache. 그만큼 UseSession
ASP에서 제공하는 확장 메서드.NET Core 기본 세션 미들웨어를 애플리케이션에 추가하지만 활용합니다. NCache 캐시로.
이제 계속 진행할 수 있습니다. 사용 NCache 기본 캐시로 당신의 ASP를 위해.NET Core 세션.
구성 속성
분산 캐싱과 관련된 구성은 아래에 설명되어 있습니다.
자세한 내용은 CacheConnectionOptions API 문서 이 클래스의 속성에 대한 자세한 내용은
회원 | 타입 | 상품 설명 | 기본값 |
---|---|---|---|
CacheName |
string (필수) |
캐싱 세션에 사용할 캐시 이름을 지정합니다. 캐시 이름을 지정하지 않으면 구성 예외가 발생합니다. | - |
EnableLogs |
bool (선택 사항) |
이 플래그가 설정되면 NCache 모든 오류 정보를 기록합니다. 로그 파일은 다음에 생성됩니다. %NCHOME%\log-files\SessionState (Windows) 또는 /opt/ncache/log-files/SessionState (리눅스). |
false |
EnableDetailLogs |
bool (선택 사항) |
이 플래그가 설정되면 NCache 모든 디버깅 정보를 기록합니다. 로그 파일은 다음에 생성됩니다. %NCHOME%\log-files\SessionState (Windows) 또는 /opt/ncache/log-files/SessionState (리눅스). |
false |
ExceptionsEnabled |
bool (선택 사항) |
캐시 API의 예외가 페이지 출력에 전파되는지 여부를 지정합니다. 예외는 특정 실패 원인에 대한 추가 정보를 제공하므로 이 플래그를 설정하는 것은 애플리케이션 개발 단계에서 특히 유용합니다. | false |
WriteExceptionsToEventLog |
bool (선택 사항) |
이 플래그가 설정되면 캐시 API의 모든 예외가 이벤트 로그에 기록됩니다. | false |
RequestTimeout |
int |
클라이언트 요청에 대한 시간 초과를 초 단위로 지정합니다. | 90 |
OperationsRetry |
int (선택 사항) |
작업을 실행하는 동안 연결이 끊어진 경우 서버가 작업을 다시 시도하는 횟수를 지정합니다. | 0 |
OperationRetryInterval |
int (선택 사항) |
각 작업 재시도 사이의 시간 간격을 지정합니다. | 0 |
도 참조
.그물: Alachisoft.NCache.캐싱.분산 네임 스페이스.