SSAS2008 : 全新的可扩展插件架构

SSAS 2008有很多不错的增强,其中一个就是对于扩展性方面的增强。下面这个文章介绍了这些特性

http://msdn.microsoft.com/zh-cn/library/cc627355(loband).aspx

下面是我写的一个范例

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AnalysisServices.AdomdServer;
using System.IO;

namespace Plugin
{
    [PlugIn]
    public class MyPlugin
    {
        public MyPlugin()
        {
            Context.Server.SessionOpened += new EventHandler(Server_SessionOpened);
            Context.Server.SessionClosing += new EventHandler(Server_SessionClosing);
            Context.CurrentConnection.CubeOpened += new EventHandler(CurrentConnection_CubeOpened);
            Context.CurrentConnection.CubeClosing += new EventHandler(CurrentConnection_CubeClosing);
        }

        private string LogFile = @"e:\temp\auditlog.txt";
        void CurrentConnection_CubeClosing(object sender, EventArgs e)
        {
            File.AppendAllText(LogFile, string.Format("用户:{0},于{1}关闭Cube{2}\n", Context.CurrentConnection.User.Name, DateTime.Now.ToString(), Context.CurrentCube.Caption));

        }

        void CurrentConnection_CubeOpened(object sender, EventArgs e)
        {
            File.AppendAllText(LogFile, string.Format("用户:{0},于{1}打开Cube:{2}\n", Context.CurrentConnection.User.Name, DateTime.Now.ToString(), Context.CurrentCube.Caption));

        }

        void Server_SessionClosing(object sender, EventArgs e)
        {
            File.AppendAllText(LogFile, string.Format("用户:{0},于{1}退出会话\n", Context.CurrentConnection.User.Name, DateTime.Now.ToString()));

        }

        void Server_SessionOpened(object sender, EventArgs e)
        {
            File.AppendAllText(LogFile, string.Format("用户:{0},于{1}建立会话\n", Context.CurrentConnection.User.Name, DateTime.Now.ToString()));

        }
    }
}

本文由作者:陈希章 于 2009/6/27 15:31:17 发布在:http://www.cnblogs.com/chenxizhang/
本文版权归作者所有,可以转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
更多博客文章,以及作者对于博客引用方面的完整声明以及合作方面的政策,请参考以下站点:陈希章的博客中心
原文地址:https://www.cnblogs.com/chenxizhang/p/1512295.html