При разработке приложения для sharepoint нам потребовалось сделать несколько операций с элементами листа как одно целое, например, переместить элемент и изменить его поле, или обновить несколько элементов листа, при этом обновиться должны были либо все элементы, либо ничего. Объектная модель Sharepoint services не имеет методов работы с транзакциями. Поиски в интернет привели на статью в форуме http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2873895&SiteID=1. Модератор ссылаясь здесь на http://support.microsoft.com/kb/883316, указывал, что объектная модель sharepoint вообще их не поддерживает. Я видел ранее несколько других статей, которые советовали использовать Service Without Components http://weblogs.asp.net/paolopia/archive/2005/01/30/363312.aspx или http://msmvps.com/blogs/anguslogan/archive/2005/07/19/58191.aspx и еще использовать новый для Net класс TransactionScope http://www.eggheadcafe.com/software/aspnet/31533974/sharepoint-om–transacti.aspx. Я пробовал использовать Service Without Components и TransactionScope класс, но они не работали в sharepoint. Поэтому, ссылка модератора на Microsoft KB и аргумет, что распределенные транзакции основаны на com+ технологии показались мне убедительными и привели к выводу, что проcто использовать транзакции в объектной модели sharepoint нельзя. Но модератор форума, который отрицал возможность транзакций в ОМ sharepoint, советовал использовать WF в Sharepoint для этого. Это показалось мне интересным и я продолжил поиски . Я нашел интересную статью http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1993200&SiteID=1, которая ссылалась на http://msdn2.microsoft.com/en-us/library/ms442249.aspx. В MSDN говорилось, что Windows SharePoint Services-specific workflow activities пакетируюся и осуществляются в транзакции, но code activities осуществляются сразу и без возможности отката. Но большинство SharePoint Services-specific workflow activities не могут быть использованы напряму в Visual Studio, только посредством sharepoint Designer. Поэтому, я снова начал искать и нашел другую интересную статью http://blogs.msdn.com/sharepointdesigner/archive/2007/07/06/porting-sharepoint-designer-workflows-to-visual-studio.aspx , которая показывала, как использовать SD workflow in VS.
Май 13, 2008
1 комментарий
RSS-лента комментариев к этой записи.
Извините, обсуждение на данный момент закрыто.
Я постарался проверить возможости отката в SPD sharepoint workflow и оказалось, что там никаких транзакций не происходит,
Смотри мои post http://forums.microsoft.com/msdn/ShowPost.aspx?siteid=1&postid=3583553 для полной информации
Комментарий by admin — Июль 8, 2008 @ 11:52