1

我有一个用 c# 编写的 ASP.NET 4.0 应用程序。我还有一个使用基于声明的身份验证的 SP2010 Foundation 应用程序。

用户不会完全看到 SharePoint 应用程序。只有库视图嵌入到 iframe 中,并且已经实现了单点登录,因此当用户登录到我的应用程序时,他们也同时登录到 SP。

是否可以获取特定用户的所有警报。

例如:

Jim 登录到我的应用程序并看到以下内容: 文档 A 有一个新的修改 文档 C 刚刚上传。文档 B 有一个新的修改。

所以基本上我不想发送电子邮件,而是使用 SP DOM 来获取特定用户的所有待处理更新。

与此类似的东西:

SPUser user = web.EnsureUser(@"domainName\userName");
SPAlertCollection alertColl = user.Alerts;
foreach (SPAlert alert in alertColl)
{
Console.WriteLine(alert.Title); 
}

我假设这会给特定用户分配的警报。但是,如果用户对他们分配了警报的项目有新的警报,SharePoint 是否会存储?

4

1 回答 1

1

当您说“如果用户有新警报,sharepoint 是否存储”您指的是电子邮件本身吗?SPAlert 和 SPAlertCollection 是监视列表项并触发电子邮件发送的实际对象,电子邮件本身不是警报对象(尽管我完全理解为什么会令人困惑)。据我所知,监视电子邮件的唯一方法是通过您的邮件服务器进行,​​SharePoint 没有一种简单的方法来跟踪它。

如果我正确理解您的问题,您想使用您的应用程序显示用户拥有的任何警报通知,而不是向用户发送电子邮件?可以通过将警报电子邮件路由到中间帐户来完成类似的操作,然后让您的应用程序读取/过滤/显示这些电子邮件。这还使您能够在电子邮件上设置规则,以组织它们并发送您自己的自定义通知(SharePoint 使自定义电子邮件通知模板变得非常困难)。

于 2013-02-25T14:34:09.033 回答