![](/img/trans.png)
[英]Autohosted SharePoint Online App - Azure account needed? Deployment? Provisioning access?
[英]Simple autohosted SharePoint app is never firing the remote event receiver
编辑:我将其更改为 SharePoint 托管的应用程序,该应用程序仅使用 Web 部件来显示公告。 它仍然未能参加该活动
<AllUsersWebPart WebPartZoneID="full" WebPartOrder="0">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type
name="Microsoft.SharePoint.WebPartPages.XsltListViewWebPart,
Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,
PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>
Cannot import this Web Part.
</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title"
type="string">Announcements</property>
<property name="ListDisplayName"
type="string">Announcements</property>
<property name="ChromeType"
type="chrometype">TitleOnly</property>
</properties>
</data>
</webPart>
]]>
然后我有一个 /Services/AnnouncementsReceiver.svc,由 VS2013 生成,内容如下:
public SPRemoteEventResult ProcessEvent(SPRemoteEventProperties properties)
{
SPRemoteEventResult result = new SPRemoteEventResult();
switch (properties.EventType)
{
// demonstrate ability to modify prior to adding
case SPRemoteEventType.ItemAdding:
result.ChangedItemProperties.Add("Body", properties.ItemEventProperties.AfterProperties["Body"] += "\n ** For internal use only ** \n");
break;
// demonstrate ability to cancel a delete event
case SPRemoteEventType.ItemDeleting:
result.ErrorMessage = "Items cannot be deleted from this list";
result.Status = SPRemoteEventServiceStatus.CancelWithError;
break;
}
return result;
}
问题是这段代码永远不会触发。 我可以创建任意数量的列表项,并且该事件永远不会触发。 我什至让它立即抛出异常并始终返回错误,但它永远不会触发。 它肯定与应用程序的公告列表相关,它应该捕捉正确的事件。 这是 Elements.xml 的片段
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="10000">
<Receiver>
<Name>AnnouncementsReceiverItemAdding</Name>
<Type>ItemAdding</Type>
<SequenceNumber>10000</SequenceNumber>
<Url>~remoteAppUrl/Services/AnnouncementsReceiver.svc</Url>
</Receiver>
<Receiver>
<Name>AnnouncementsReceiverItemDeleting</Name>
<Type>ItemDeleting</Type>
<SequenceNumber>10000</SequenceNumber>
<Url>~remoteAppUrl/Services/AnnouncementsReceiver.svc</Url>
</Receiver>
<Receiver>
<Name>AnnouncementsReceiverItemAdded</Name>
<Type>ItemAdded</Type>
<SequenceNumber>10000</SequenceNumber>
<Url>~remoteAppUrl/Services/AnnouncementsReceiver.svc</Url>
</Receiver>
</Receivers>
</Elements>
我还确认它是由 Package.package 部署的。 我已经无计可施了。
是的,在 VS 2013 中部署应用程序很繁琐,因为缓存一如既往地与现实脱节(缓存我存在的祸根!)。 每当事情停止正常工作时,请尝试此操作:
根据需要冲洗并重复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.