Не удается удалить экземпляр рабочей области собрания
-
16-10-2019 - |
Вопрос
Итак, было создано рабочее пространство собрания. Затем последующие встречи, где связаны с рабочей областью, один за другим, как встречи, где запланировано. В какой -то момент организатор удалил «что -то», и он больше не появляется в ее календаре Outlook или в календаре событий. Тем не менее, экземпляр встречи, который якобы был удален, все еще есть. И маленькое раскрытие, которое в противном случае казалось бы счастливо, просят либо сохранить, переместить или удалить этот экземпляр (номер 31) не появляется.
Я пробовал следующие вещи:
- Удаление «серийных элементов в библиотеке DOC и папках страниц от дизайнера SharePoint ... нельзя самой мудрой ход, но он работал раньше.
Пробовал обмануть систему с помощью следующего запроса на URL:
http: //myserver/en/mydep/mymeeting/lists/meeting%20series/movetodt.aspx? frominstanceid = 31 & fromInstanceDate = 4/23/2010%201: 00%20pm & fromInstanceAteSo = 20100423t200000z.&Source=http://myserver/en/mydep/mymeeting/default.aspx%3FInstanceID%3D31%26Paged%3DNext%26p_ StartTimeUTC%3D20090421T220000Z%26 View%3D%257b00ADFF4F%252d1187%252d448C%252dA94C%252dD17CA097AF67%257d
А потом попытаться выбрать другую встречу. Нет трудоустройства. SharePoint вышел на меня
Вещи, которые я собираюсь попробовать (в этом порядке)
- Попробуйте использовать опцию «Удалить» вместо параметра перемещения
- Может, посмотрите, есть ли в этом STSADM Commmand
- Напишите немного C#, чтобы работать с рабочими пространствами.
- Резервное копирование/восстановление рабочей области на месте
- Молча молитесь за божественное вмешательство.
Любые предложения будут высоко оценены.
Решение 2
В конце концов, мне нужно было запустить большие орудия против 2008 года и приступить к работе. Я решил, что буду использовать веб -службы, а не объектную модель, чтобы мне не нужно было разрабатывать на самом сервере. Используя Framework WCF, создайте ссылку на услуги на веб -сервис собраний (я назвал его собрания). Вам также понадобится ссылка на службу для списков веб -службы (списки в моем случае), затем инициализируйте прокси:
MeetingSoapClient mSClient=new Meeting SoapClient();
mSClient.ClientCredentials.Windows.ClientCredential= new NetworkCredential();
ListsSoapClient lSClient=new ListsSoapClient();
lSClient.ClientCredentials.Windows.ClientCredential = new NetworkCredential();
Затем вызовите метод удаления прокси -сервера:
mSClient.RemoveMeeting(0, InstanceUID(InstanceID), uint.MaxValue, DateTime.Now, true);
Вам нужно будет знать идентификатор экземпляра встречи. Вернувшись над ссылкой на встречу, обычно дает вам это. Затем вам нужно будет найти этот уникальный идентификатор экземпляра. Uid экземпляра можно найти из этого кода:
private static string InstanceUID(uint InstanceID)
{
/*Use the CreateElement method of the document object to create elements for the parameters that use XML.*/
XmlDocument xmlDoc = new XmlDocument();
XmlElement query = xmlDoc.CreateElement("Query");
XmlElement viewFields = xmlDoc.CreateElement("ViewFields");
XmlElement queryOptions = xmlDoc.CreateElement("QueryOptions");
query.InnerXml = @"<Where><Eq><FieldRef Name=""ows_ID""/><Value Type=""Counter"">" + InstanceID + @"</Value></Eq></Where>";
XmlNode ndResult = lSClient.GetListItems("Meeting Series", "", query, viewFields, "150", queryOptions, null);
XmlNode mainNode = ndResult.ChildNodes.Item(1);
mainNode = mainNode.ChildNodes.Item(1);
XmlNode eventUID = mainNode.Attributes.GetNamedItem("ows_EventUID");
return eventUID.InnerText;
}
Я оставляю полное объяснение того, что каждый из этого делает с любознательным читателем. Иди в Google и будь благословлен.
Другие советы
Я искал решение для удаления встреч из рабочего пространства в течение некоторого времени. Я пытаюсь принять решение выше:
Meetings.MeetingsSoapClient meetings = new Meetings.MeetingsSoapClient();
meetings.ClientCredentials.Windows.ClientCredential = new NetworkCredential();
Я жестко закодировал рабочее пространство для совещания во время отладки:
meetings.RemoveMeeting(3, "STSTeamCalendarEvent:List:{1B049DAE-332F-4AB4-A169-2B438F460971}:Item:2", 0, DateTime.Now, true);
Я получаю Faultexception, деталь которого:
Не может завершить это действие. Пожалуйста, попробуйте еще раз.
Я как бы думал, что это ошибка разрешений, однако у меня есть полные разрешения на контроль для сайта - у кого -нибудь есть какие -либо предложения?