向web.config添加事件处理程序会产生错误:配置文件不是格式良好的XML

iaa*_*acp 1 events templates web-config sitecore sitecore8

根据这篇博文,我试图将一个事件添加到我的Sitecore web.config文件中,并完成他正在做的事情.这正是我在我的文件中的方式.

<events timingLevel="custom">
      ...
      <event name="item:added">
        <handler type="BenefitVault.Core.Helpers.SitecoreEvents, BenefitVault" method="OnItemAdded" patch:after="processor[@type='Sitecore.Data.Fields.ItemEventHandler, Sitecore.Kernel']" />
      </event>
      ...
</events>
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试访问我的本地站点时,我收到以下错误.它看起来像语法错误,但我没有看到问题.有任何想法吗?

在此输入图像描述

jam*_*kam 5

如果您已将此条目直接添加到web.config中,那么您不需要补丁声明,只需添加它,例如:

<events timingLevel="custom">
      ...
      <event name="item:added">
        <handler type="BenefitVault.Core.Helpers.SitecoreEvents, BenefitVault" method="OnItemAdded" />
      </event>
      ...
</events>
Run Code Online (Sandbox Code Playgroud)

但是你应该避免直接对配置部分进行更改,它会在尝试升级时阻碍你,并且意味着你必须设法弄清楚已经做了哪些更改.相反,您应该使用补丁包含文件,这是您链接到的原始文章所指的内容(以及直接修改时失败的原因)

/App_Config/Include文件夹下创建一个新的配置文件,(可选择在其下创建它/App_Config/Include/zProjectName确保它在最后修补)

/App_Config/Include/zMyProject/EventHandlers.config

<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <events timingLevel="custom">
      <event name="item:added">
        <handler type="BenefitVault.Core.Helpers.SitecoreEvents, BenefitVault" method="OnItemAdded" 
                 patch:after="processor[@type='Sitecore.Data.Fields.ItemEventHandler, Sitecore.Kernel']" />
      </event>
    </events>
  </sitecore>
</configuration>
Run Code Online (Sandbox Code Playgroud)