Domanda

Sto sviluppando un SPWebEventReceiver personalizzato per SP2013 in modo dichiarativo utilizzando il seguente file elements.xml:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Receivers Scope="Site">
    <Receiver>
      <Synchronization>Synchronous</Synchronization>
      <Name>MyWebProvisionedReceiver</Name>
      <Type>WebProvisioned</Type>
      <Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
      <Class>Foo.Bar.Class</Class>
      <SequenceNumber>10000</SequenceNumber>
    </Receiver>
  </Receivers>
</Elements>

Sto allegando questo ricevitore in determinate circostanze usando:

web.Site.EventReceivers.Add(
    SPEventReceiverType.WebProvisioned,
    Assembly.GetExecutingAssembly().FullName,
    "Foo.Bar.Class");

Ora mi chiedo dove definire il GUID per il ricevitore di eventi in elements.xml in modo da poterlo identificare a livello di codice in un secondo momento?

Ho trovato diversi esempi per eseguire l'intero processo di definizione del ricevitore a livello di codice come:

Guid guid = new Guid("...");
SPEventReceiverDefinition def = web.Site.EventReceivers.Add(guid);
def.Name = "MyWebProvisionedReceiver";
...
def.Update();

Per riassumere: qual è il "modo Elements.xml" per new Guid(...)?

È stato utile?

Soluzione

Receiver elemento figlio nel file Elements non supporta alcun Attribute o Child Elements per specificare GUID.

http://msdn.microsoft.com/en-us/library/office/ms472893(v=office.15).aspx

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top