CobaltCore сборка
Я пытаюсь реализовать пользовательский хост Wopi в C#, который может обрабатывать протокол Cobalt с использованием сборки CobaltCore.
Но я не нашел никакой документации для CobaltCore.dll. Обозреватель объектов немного полезен.
Пожалуйста, предоставьте некоторые детали, если у кого-то была похожая проблема. Как мне использовать Cobalt для расшифровки сообщений?
3 ответа
Для реализации редактирования текста перейдите сюда:
Могу ли я просто использовать сервер Office Web Apps
// fsshttpb payload, basically decode from base64 encoded
byte[] test1 = System.Convert.FromBase64String("DAALAJzPKfM5lAabBgIAAO4CAABaBBYADW1zd29yZAd3YWN6AggA1RyhD3cBFgIGAAMFABoEIAAL3Do4buY4RJXm4575cgEiigICAAALAawCAFUDAQ==");
// create an atom object from the fsshttp input
AtomFromByteArray atomRequest = new AtomFromByteArray(test1);
RequestBatch requestBatch = new RequestBatch();
requestBatch.DeserializeInputFromProtocol(atomRequest);
// now you can inspect requestBatch to view the decoded objects
редактировать:
Вот пример реализации с использованием CobaltCore. Практически сочетание моих ответов о WOPI/FSSHTTP на этом сайте в одном проекте.
Спасибо thebitllc за правильный подход к возвращению файла.
System.IO.FileStream _FileStream = new System.IO.FileStream("C:\\WOPI OWA WORD EDITOR\\OWA_Updated_Documents\\output.docx", System.IO.FileMode.Create, System.IO.FileAccess.Write);
GenericFdaStream myCobaltStream = new GenericFda(cobaltFile.CobaltEndpoint, null).GetContentStream();
myCobaltStream.CopyTo(_FileStream);
_FileStream.Close();
Кроме того, реализуя подход Cobalt к редактированию и, подобно Джулии, он останавливается на "экране редактирования", даже после обратных вызовов lockingstore, включая соавтора и т. Д. Однако я обнаружил, что система журналов для OWA раскрывает довольно значительные подробности о том, что такое сервер OWA пытаясь сделать. C:\ProgramData\Microsoft\OfficeWebApps\Data\Logs\ULS. Из этих журналов видно, что он жалуется на отсутствующий токен доступа, предоставляя
&access_token=1&access_token_ttl=0
до конца wopi url эта ошибка исчезает.
Я также протестировал многие поля информации о файле и смог увидеть, как сервер OWA кеширует информацию. Если мы продолжим менять cfi.Version
FileInfo info = new FileInfo("C:\\WOPI OWA WORD EDITOR\\OWA_Source_Documents\\" + fi.Name);
cfi.Version = info.LastWriteTimeUtc.ToString("s");
мы получаем новый кешированный элемент каждый раз, когда меняем содержимое файлов с помощью обычного слова.
Они также влияют на режим просмотра для Word, и я подозреваю, что он выведет нас из режима редактирования слова, но так как у меня нет этой работы, я пока не могу сказать.
cfi.SupportsCoauth = true; // all three (3) needed to see the edit in browser menu in view mode .
cfi.SupportsCobalt = true; // all three (3) needed to see the edit in browser menu in view mode .
cfi.SupportsFolders = true; // all three (3) needed to see the edit in browser menu in view mode .
cfi.SupportsLocks = true;
cfi.SupportsScenarioLinks = false;
cfi.SupportsSecureStore = true;
cfi.SupportsUpdate = true;
Эта функция блокирует функцию редактирования слова, и если вы не обновите версию файла, она останется заблокированной, даже если вы вернете ей значение false.
cfi.WebEditingDisabled = false;
Роджер Хогг