AdomdConnection.CubeClosing 事件
當 Cube 開始關閉,但在 Cube 實際關閉之前發生。
命名空間: Microsoft.AnalysisServices.AdomdServer
組件: msmgdsrv (在 msmgdsrv.dll 中)
語法
'宣告
Public Event CubeClosing As EventHandler
'用途
Dim instance As AdomdConnection
Dim handler As EventHandler
AddHandler instance.CubeClosing, handler
public event EventHandler CubeClosing
public:
event EventHandler^ CubeClosing {
void add (EventHandler^ value);
void remove (EventHandler^ value);
}
member CubeClosing : IEvent<EventHandler,
EventArgs>
JScript 支援事件的使用,但不支援新事件的宣告。
備註
下列程式碼是 Analysis Services 個人化延伸模組 (ASPE) 的一部分,示範如何使用 CubeClosing 和 CubeOpened 事件。
注意
下列範例程式碼也可以從 Microsoft SQL Server Samples and Community Projects 網站下載。
範例
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AnalysisServices.AdomdServer;
namespace ISV_1.ASClientExtensions
{
public class SessionMgr
{
public SessionMgr()
{
Context.CurrentConnection.CubeOpened += new EventHandler(CubeOpened);
Context.CurrentConnection.CubeClosing += new EventHandler(CubeClosing);
}
~SessionMgr()
{
}
public void CubeOpened(object sender, EventArgs e)
{
String username = Context.CurrentConnection.User.Name;
username = username.Substring(username.IndexOf('\\')+1).ToLowerInvariant();
//Verify and set user experience for opened cube
// that is define calculated members according to user profile
AuthoringAndManagement.DefineMembers(Context.CurrentDatabaseName, Context.CurrentCube.Name, username);
// that is define KPIs according to user profile.
AuthoringAndManagement.DefineKPIs(Context.CurrentDatabaseName, Context.CurrentCube.Name, username);
// that is define sets according to user profile.
AuthoringAndManagement.DefineSets(Context.CurrentDatabaseName, Context.CurrentCube.Name, username);
}
public void CubeClosing(object sender, EventArgs e)
{
//Close and discard any object that requires clean-up
}
}
}