powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / вопрос с интерлопом
48 сообщений из 48, показаны все 2 страниц
вопрос с интерлопом
    #39762759
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я знаю что использовать офис на серваке это табу и всегда этого придерживался, но придется походу. вопрос у кого такая связка бегает как часто случаются проблемы ?

п.с. пришлось на этой пойти потому что ни aspose(сам в аспоз запостил порядка 30 багов на сравнение и баги до сих пор чинятся и хз когда новое всплывет) ни какая другая либа не может выдать результат сравнения как сам офис, а порой просто мешанину делают.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39762984
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть же альтернативы аспозу. Сейчас так сразу не вспомню, но погуглить можно. Правда под коре в свое время не нашли ничего, но, судя по тому что вы не боитесь интеропа у вас не коре. Я недавно вообще напрямую офисный XML лепил (так надо было - задача стояла делать ексельный файл без того чтобы он в памяти висел это время).
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39762987
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще покопать в сторону этого: Open XML SDK .
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763125
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,

эм я то хочу кор нет так как машины сплошные линкусы с джава сервисами, подмешал бы я туда кор нет ничего не было,
но я не нашел библы чтоб сравнивала документы адекватно. Open XML SDK не умеет сравнивать документы так то
заполнение/редактирование документа эт просто, я могу сходу 4 назвать. мне нужно именно сравнение.
я даже думал о Xmldiffpatch.exe что мс писало в далеком 2002 году
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763146
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuOpen XML SDK не умеет сравнивать документы
в офисе же на основе xml документы. Сравнивай - не хочу.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763202
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRufkthat,

эм я то хочу кор нет так как машины сплошные линкусы с джава сервисами, подмешал бы я туда кор нет ничего не было,
но я не нашел библы чтоб сравнивала документы адекватно. Open XML SDK не умеет сравнивать документы так то
заполнение/редактирование документа эт просто, я могу сходу 4 назвать. мне нужно именно сравнение.
я даже думал о Xmldiffpatch.exe что мс писало в далеком 2002 году

EPPlus
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763204
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123handmadeFromRuOpen XML SDK не умеет сравнивать документы
в офисе же на основе xml документы. Сравнивай - не хочу.
и? конкретнее
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763208
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bachEPPlus
и? да я использовал EPPlus для работы с эксель но как это связано с word?
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763209
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRulove_bachEPPlus
и? да я использовал EPPlus для работы с эксель но как это связано с word?
да так чтоб в новом файле я получил ревизии
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763212
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuPetro123пропущено...

в офисе же на основе xml документы. Сравнивай - не хочу.
и? конкретнеечто именно?
Как xml сравнивать?
Рекурсия, пошел по нодам дерева и сравнивай атрибуты.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763219
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123что именно?
Как xml сравнивать?
Рекурсия, пошел по нодам дерева и сравнивай атрибуты.
я подумаю над этим, но если уже аля аспоз не смогли сделать за бабло сравнение то моими силами проблемно все охватить мне кажется

еще штука как https://github.com/OfficeDev/Open-Xml-PowerTools и она идеальна для сравнения + компиляция под кор нет. пока не заметил косяков в сравнение, но она удаляет букмарки, комментария и еще кучу всего перед выдачей результата, к сожалению удаляет и то что мне нужно потом в документе помимо текста. собираюсь форкнуть и оценить смогу ли сделать чтоб не удалялось нужная мне инфа и при этом сравнение не испортить

но мы уходим от темы с офисом на серваке, надеялся кто нить поделиться опытом костыля в виде офиса на серваке, как ведет себя к примеру в 100реквестов в секунуду или многопоточности. так как есть недоверие к ком серверу через который и вызывает офис
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763231
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

офисов-шмофисов на серверах с основным приложением не держим
импортом, экспортом, конвертацией занимаются отдельные сервисы и там все по взрослому: очереди, масштабируемость, api, своя БД

оформите это свое сравнение как отдельный микросервис, почему нет?
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763245
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu100реквестов в секунудуну даете.
Он не многопоточный условно говоря. Вам придется делат 100 экземпляров.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763246
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,
Ну или тест сделайте. Пол часа делать.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763260
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuкак ведет себя к примеру в 100реквестов в секунуду или многопоточности
ну как как... если документы НЕ открывать в рамках одного Word.Application, то нормально
а из этого следует, что необходимо множество процессов одновременно

вот и думайте :)

откуда у вас вообще вдруг 100 сравнений в секунду?
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763269
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

так оно как отдельный сервис и живет. отдельная тачка раньше была с аспозом, теперь времено с офисом чтоб понять.
там простое асп приложение с 1 методом что только сравнивает чтоб потом это можно было за балансировщиком поставить и скалировать.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763271
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мухоткуда у вас вообще вдруг 100 сравнений в секунду?
ну эт цифра с потолка, щас на приложение что основное и будет использовать этот сервис уже в пике 250 в обычно 150 примерно в секунду.
конечно сравнивать не так часто будут в меню эт в отдельном пункте лежит. просто я хотел понять какие грабли словлю не более
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763274
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

тут правда я мог быть не точен, я смотрю на статистику забикса, а он наверное выдает реквесты вместе со статическим файлами впридачу
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763277
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123handmadeFromRu100реквестов в секунудуну даете.
Он не многопоточный условно говоря. Вам придется делат 100 экземпляров.
да хоть 1000. если чисто в память упрется то это фигня, все равно потом процесс закрывается. тут главное что не померал на мертво или машину не вешал
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763280
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuДмитрий Мухоткуда у вас вообще вдруг 100 сравнений в секунду?
ну эт цифра с потолка, щас на приложение что основное и будет использовать этот сервис уже в пике 250 в обычно 150 примерно в секунду.
конечно сравнивать не так часто будут в меню эт в отдельном пункте лежит. просто я хотел понять какие грабли словлю не более
приложение публичное?
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763343
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

предлагаю нанять китайцев ))
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763356
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

тебе то помогли китайцы нанятые?)
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763359
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

да, но публиковать тут я не буду ссылку на него так как разговор пойдут в другую сторону.

п.с. разговор уже пошел в сторону от моего вопроса. один вывод как всегда не использовать офис что я собствено и знал
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763385
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,
Нагрузка у тебя большая, другого вывода и не будет.
Еще постановку смотреть. С чего вдруг ворд формат надо сравнивать?
Модели по бизнесу получается нету.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763391
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В моем понимании могут быть две проблемы:
1) ком-сервер может подвиснуть (с фатальной ошибкой или просто)
2) если ему скармливаются файлики произвольные, то ворд может захотеть интерактивности, то есть вывести какое-то сообщение и ждать реакции пользователя.

Вероятно, нужно сделать как-то так: есть один экземпляр ком-сервера ворда, есть управляшка, которая обеспечивает очередь и последовательную обработку запросов. Если управляшка видит, что ком-сервер перестал выдавать результат за разумное время, она запускает новый экземпляр ком-сервера и продолжает работу, а старый процесс пытается прибить. Если же какой-то файл регулярно приводит к проблеме несвоевременного ответа ком-сервера - это должно привести к отказу его обработки и удалению из очереди (а дальше разработчик разбирается в причинах).
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763409
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proуправляшкапул экземпляров с МИН, МАКС.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763419
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123handmadeFromRu,
Нагрузка у тебя большая, другого вывода и не будет.
Еще постановку смотреть. С чего вдруг ворд формат надо сравнивать?
Модели по бизнесу получается нету.
нагрузки на конкретно сервис сравнения может и не быть, я спросил чтоб узнать какие могут быть подводные жопы.

мне надо сравнить потому что есть понятие подгрузки контрактов от контрагентов и дальнейшее изменение контракта и надо показать что поменялось визуально в ui.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763422
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
оо приму к сведению, спасибо.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763424
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,
Про жопы все сказали.
Про ТЗ странное то, что контракт в ворде это свободный стиль. Как его изменение покажешь?
Дал бы пример юз кейс что ли.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763439
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proуправляшка, которая обеспечивает очередь и последовательную обработку запросову COM Ole server office модель STA. Т.е. потоки сами встанут в очередь самой конструкцией COM.
Если только чистить зависший процесс... как задача админа.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763460
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Shocker.Proуправляшка, которая обеспечивает очередь и последовательную обработку запросову COM Ole server office модель STA. Т.е. потоки сами встанут в очередь самой конструкцией COM.
Если только чистить зависший процесс... как задача админа.
вот тут я как раз и вижу жопу тут
если ком сервер сделан как STA, то у него есть очередь сообщений.
любой запрос к серверу делается через сообщение в очередь
но вот ответ идет напрямую, и может быть обработан в разных потоках
если во время обработки сообщения был сделан в другом потоке вызов сервера, который добавил еще одно сообщение, от может быть дедлок - обработка первого сообщения будет заблокирована ожиданием обработки второго сообщения
если я не ошибаюсь, конечно решить можно через очередь вне ком сервера


Petro123
пример простой. есть контракт загрузили документ, потом контрагент скачав контракт сделал в нем изменения и загрузил. мы храним версионные копии документов
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763462
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
com+ юзай через свой компонент, где уже будешь вызывать word
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763465
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123у COM Ole server office модель STA. Т.е. потоки сами встанут в очередь самой конструкцией COM.
Если только чистить зависший процесс... как задача админа.Это при условии, что ты не будешь создавать процесс на каждый запрос отдельно. Ну и менеджер очереди все равно нужен.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763468
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuдедлоквсе давно придумано - возьми вместо пула коннектов пул экземпляров ворда.

handmadeFromRuмы храним версионные копии документовно модели то нету.
Мы генерили договор из полей таблицы!
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763473
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proсоздавать процесс на каждый запрос отдельнов шарпе не знаю.
В java это задача веб сервера - новый Поток на запрос. А как тут с вордом делать Х.З.))))
Геморрой.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763475
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuвот тут я как раз и вижу жопу тут
если ком сервер сделан как STA, то у него есть очередь сообщений.Полюбому лучше изолировать элементы очереди и продвигать их самому. Потому что (Петя с этим не работал, не в курсе, он и сравнение вордом, видимо, не видел, иначе б не говорил глупости про сравнение xml) некоторые операции (например печать) выполняются асинхронно, тут тоже может быть засада, например, я не уверен, что сохранение выполняется синхронно, так что выполнив .Save() не факт, что документ уже готов, так что тоже имей ввиду.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763478
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123возьми вместо пула коннектов пул экземпляров ворда.вот я бы не стал использовать пул, вероятность словить какое-нить зависание увеличится (ИМХО), лучше использовать один экземпляр
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763480
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proсравнение вордом, видимо, не виделлюбитель оффтопить и фантазировать кто что видел.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763482
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRuДмитрий Мух,

да
Ну если публичный, то надо отбросить запросы на чтение, за статиками, запросы ботов и сканеров.
Отсюда взять примерный процент тех, кому нужно именно сравнение.

То есть на деле получится скорее всего скромная нагрузка на машину с офисом.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763483
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProPetro123возьми вместо пула коннектов пул экземпляров ворда.вот я бы не стал использовать пул, вероятность словить какое-нить зависание увеличится (ИМХО), лучше использовать один экземпляродин экземпляр не даст два запроса в сек.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763491
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения.
Пилим виндовый сервис, что их разгребает.
Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763494
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Организовать в сервисе на отдельной машине пул процессов - как два пальца об асфальт.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763504
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНе знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения.
Пилим виндовый сервис, что их разгребает.
Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину.

+100 за отдельный сервис
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763524
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneотдельныйотдельный от чего?
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763847
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНе знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения.
Пилим виндовый сервис, что их разгребает.
Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину.

Можно не заморачиваться с базой - поднять RabbitMQ (у него, в отличие от MSMQ нет лимита на размер сообщения). Но, лично у меня, сама идея делать это через Office+Interop вызывает идиосинкразию. Уже когда-то так делали - геммороя с этим не оберешься.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39763858
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatskyANAНе знаю чего тут очкуют, но в простом варианте берём Windows Server 2016, ставим там офис, в базе заводим табличку, куда пишем задачи на сравнение со статусом их выполнения.
Пилим виндовый сервис, что их разгребает.
Перформанс метрики с машины кладём в zabbix. Если последние начинают быть плохими, то поднимаем рядом ещё машину.

Можно не заморачиваться с базой - поднять RabbitMQ (у него, в отличие от MSMQ нет лимита на размер сообщения). Но, лично у меня, сама идея делать это через Office+Interop вызывает идиосинкразию. Уже когда-то так делали - геммороя с этим не оберешься.
И в чем же геморрой? С кроликом долго дружили? :)
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39764454
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИ в чем же геморрой? С кроликом долго дружили? :)

Мед в гостях у него ел :)) БД она как бы изначально все-таки не для организации очередей, поэтому многое придется делать руками. Создавать схему данных, писать DAL, продумывать и реализовывать polling. Оно как бы несложно все, я даже такое делал пару раз, но если нет чего-то, что мешает использовать готовое messaging решение, то почему бы и не использовать.
...
Рейтинг: 0 / 0
вопрос с интерлопом
    #39764613
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatskyANAИ в чем же геморрой? С кроликом долго дружили? :)

Мед в гостях у него ел :)) БД она как бы изначально все-таки не для организации очередей, поэтому многое придется делать руками. Создавать схему данных, писать DAL, продумывать и реализовывать polling. Оно как бы несложно все, я даже такое делал пару раз, но если нет чего-то, что мешает использовать готовое messaging решение, то почему бы и не использовать.
Я только за очереди.

Но сто пудов БД уже есть и, соответсвенно, есть достаточный опыт её использования, чтобы легко и быстро добавить таблицу, написать DAL, реализовать логику.
И если не хочется, или нет времени погружаться в этот самый messaging, то используйте БД.

А вообще я себе вижу отдельный микросервис сравнения, асинхронное взаимодействие с которым идёт через очередь, со своей собственной БД.
...
Рейтинг: 0 / 0
48 сообщений из 48, показаны все 2 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / вопрос с интерлопом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]