2015-01-08 36 views
0

我按照方向here添加了一個新的擴展,以便在新圖像上傳到Ektron時觸發事件。我在我的項目的App_Code文件夾中創建新文件:Ektron CMS - 用於OnAfterAdd的新擴展功能不起作用

using System; 
using System.Collections.Generic; 
using System.Text; 
using Ektron.Cms; 
using Ektron.Cms.Common; 
using Ektron.Cms.Extensibility; 
using Ektron.Cms.Extensibility.Content; 

namespace Cms.Extensions.Samples 
{ 
    public class UploadExtension : LibraryStrategy 
    { 
     public override void OnAfterAdd(LibraryData taxonomyData, CmsEventArgs eventArgs) 
     { 
      string[] lines = { "Written on Ektron upload event!" }; 
      System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WORKING.txt", lines); 

      var x = taxonomyData; 
     } 

     public override void OnAfterUpdate(LibraryData taxonomyData, CmsEventArgs eventArgs) 
     { 
      var x = taxonomyData; 
     } 

     public override void OnBeforeDelete(long id, CmsEventArgs eventArgs) 
     { 
      var x = id; 
     } 
    } 
} 

我只是把一個檢測線每種方法,這樣我可以添加一個斷點,看看它是否擊中。我註冊的ObjectFactory新的擴展:

<objectFactory> 
    <objectStrategies> 
     <add name="Library"> 
      <strategies> 
      <add name="EktronUploadExtension" type="Cms.Extensions.Samples.UploadExtension"/> 
      <add name="GoogleGeoCoder" type="Cms.Extensions.GoogleGeoCoder.LibraryStrategy, Cms.Extensions.GoogleGeoCoder"/> 
      </strategies> 
     </add> 
    </objectStrategies> 
</objectFactory> 

它看起來像我正確的一切成立,但我連着處理,開闢了我曄的工作區,並上傳了新的圖像庫,但沒有我的斷點(特別是OnAfterAdd中的斷點)被擊中。我不知道如何調試或找出我的擴展有什麼問題。

編輯:我修復了objectfactory.config文件,但它仍然無法正常工作。 UploadExtension.cs中的斷點不起作用,當我在Ektron中添加新的庫項目時,我放入函數的測試文件沒有寫入。

+0

只是爲了確認,你是通過在工作區的庫部分增加你的形象? –

+0

這是正確的 –

回答

1

您的objectfactory.config文件不正確。您已經創建了一個LibraryStrategy,但將其放入了objectfactory.config的Content Strategy部分。

您應該添加一個名爲「庫」部分中的配置文件,如下所示:

<add name="Library"> 
    <strategies> 
    <add name="MyFirstExample" 
       type="Cms.Extensions.Samples.UploadExtension"/> 
    </strategies> 
</add> 
+0

修正了你的建議,但它仍然沒有做任何事情。 –