범위를 확장 할 수 있는지 알고 싶습니다 ... 가능한가요?
확실히. 당신은 할 수 있습니다
- 서브 클래스
Feature
- 서브 클래스
FeatureSetting
Events
- 이
IFeatureChecker
- 구현하고
FeatureValueStore
에서 IFeatureManager
- 재정의 방법을 대체 구현하고 대체 포함하는 새로운
FeatureScopes
열거를 생성
많은 작업처럼 보입니다. 그러나 그것은 유지 가능성과 관심사의 분리를 위해 그렇게 행해진 다.
ABP로 이것을 구현하는 가장 좋은 방법은 무엇입니까?
당신은 세입자를 사용할 수있는 그대로 Feature
를 사용하는 것이 더 낫다, 다음 FeatureChecker
교체 :
public async Task<string> GetValueAsync(int tenantId, string name)
{
var feature = _featureManager.Get(name);
var value = await FeatureValueStore.GetValueOrNullAsync(tenantId, feature);
if (value == null)
{
return feature.DefaultValue;
}
// Check if Feature is enabled for Event
// ...
return value;
}
이 좋아, 그래서 가장 간단한 해결책은 엔티티라고'EventFeature'를 만드는 것입니다 어디 이벤트와 피처 사이의 매핑을 저장하고 'FeatureChecker'를 대체하여 이벤트 내부에서 이러한 피쳐를 조회 할 수 있습니다. Im은 'AbpSession'이 주입되는 것과 같은 방법으로 이벤트 세션을 FeatureChecker에 삽입하는 방법을 평가하려고합니다. –
맞습니다. – aaron
안녕하세요 Aaron, 내 자신의 FeatureChecker를 구현했지만 기본 FeatureChecker 대신 Abp에서 사용하는 데 문제가 있습니다. 내 FeatureChecker에 ITransientDependency를 추가했지만 여전히 기본 Abp를 선택합니다. 그 등록을 올바르게하는 방법에 대한 아이디어? –