我有一个程序集,它根据当前用户设置角色维度数据。 在程序集中,我需要访问Context.CurrentCube.LastProcessed属性。 代码本身工作正常。除非多维数据集已被新部署或处理。然后,有时检索Context.CurrentCube.LastProcessed属性会引发以下错误:
Microsoft.AnalysisServices.AdomdServer.AdomdException:Server:The 操作被用户取消。在 Microsoft.AnalysisServices.AdomdServer.CubeCollection..ctor(字符串 mpCubeName)at Microsoft.AnalysisServices.AdomdServer.CubeDef.get_LastProcessed()
在Reporting.TryGetLastProcessDate()中 d:\ PROJECTS \报告\ Reporting_Cube_Addons \ Permissions.cs:行 181
我在try catch中包含了这一行,并带有一个后备值:
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; }
但是看起来即使异常被捕获,立方体也会停止工作..
关于我可能做错的任何想法?还有其他更安全的方法来检索上次处理的日期吗?