현재 사용자에 따라 역할 차원 데이터를 설정하는 어셈블리가 있습니다. 어셈블리에서 Context.CurrentCube.LastProcessed 속성에 액세스해야합니다. 코드 자체는 문제없이 작동합니다. 큐브가 새로 배포되거나 처리 된 경우 제외. 그리고 때로는 Context.CurrentCube.LastProcessed 속성을 던졌습니다 검색 다음과 같은 오류 :SSAS 큐브에서 LastProcessed 속성에 액세스하는 중 오류가 발생했습니다.
Microsoft.AnalysisServices.AdomdServer.AdomdException: Server: The operation was cancelled by the user. at Microsoft.AnalysisServices.AdomdServer.CubeCollection..ctor(String mpCubeName) at Microsoft.AnalysisServices.AdomdServer.CubeDef.get_LastProcessed()
at Reporting.TryGetLastProcessDate() in d:\Projects\reporting\Reporting_Cube_Addons\Permissions.cs:line 181
나는 대체 값, 시도 캐치에서 그 라인을 포장했습니다
public static DateTime TryGetLastProcessDate() { DateTime last; try { last = Context.CurrentCube.LastProcessed; } catch (Exception ex) { log("Failed to retrieved lastProcess Date. Error:"); log(ex.ToString()); last = new DateTime(2015, 01, 01); } return last; }
그러나 보인다 큐브 예외가 잡힌 경우에도 작업을 멈 춥니 다.
내가 잘못하고있는 것에 대한 아이디어가 있습니까? 마지막으로 처리 된 날짜를 검색하는 다른 안전한 방법이 더 있습니까?