現在のユーザーに応じてロールディメンションデータを設定するアセンブリがあります。 アセンブリで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; }
しかし、それはキューブと思われます例外がキャッチされたにもかかわらず作業を停止します。
私が間違っているかもしれないことについてのアイデアはありますか?最後に処理された日付を他のより安全に検索する方法がありますか?