RavenDB Put Trigger

时间:2012-08-31 21:05:15

标签: ravendb

我在RavenDB Put Trigger上搜索过高低。但是,我找不到可以完成任务的来源。这是我在Ravendb的Plugins文件夹中存储的小dll代码 - 我正在使用build 960.我的问题是,我该如何离开这里。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Raven.Database.Plugins;
using System.Collections.Concurrent;
using Raven.Json.Linq;
using Raven.Abstractions.Data;
using System.Diagnostics;

namespace Raven.Tryouts
{
public class MyPutTrigger : AbstractPutTrigger
{
public override void OnPut(string key, Json.Linq.RavenJObject document,       Json.Linq.RavenJObject metadata, Abstractions.Data.TransactionInformation transactionInformation)
    {
        base.OnPut(key, document, metadata, transactionInformation);
        Debug.WriteLine("OnPut: " + key);
    }
    public override void AfterPut(string key, Json.Linq.RavenJObject document, Json.Linq.RavenJObject metadata, Guid etag, Abstractions.Data.TransactionInformation transactionInformation)
    {
        base.AfterPut(key, document, metadata, etag, transactionInformation);
        Debug.WriteLine("AfterPut:" + key);
    }
    public override void AfterCommit(string key, Json.Linq.RavenJObject document, Json.Linq.RavenJObject metadata, Guid etag)
    {
        base.AfterCommit(key, document, metadata, etag);
        Debug.WriteLine("AfterCommit:" + key);
    }
}
}

2 个答案:

答案 0 :(得分:0)

  • 编译此代码。
  • 获取生成的dll并将其放在Plugins目录中(.config文件旁边)。如有必要,请创建插件目录。
  • 重启Raven

答案 1 :(得分:0)

Debug.WriteLine不会写入RavenDB调试日志。在运行Raven的服务器上启动Sysinternals DebugView以查看系统调试输出 - 在那里您将看到示例触发器的诊断输出。