Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 37223|Отговор: 1

[Източник] aspose.words за генериране на тестови работи

[Копирай линк]
Публикувано в 8.04.2016 г. 16:44:24 ч. | | |

Наскоро направих онлайн проект за групиране на статии. Основните функции включват набор на думи, преглед и генериране на тестови работи. Когато става въпрос за операции с думи в началото, едно нещо, което ми идва наум, е офисният COM компонент за работа с word. Отне около две седмици да напиша кода за цялата система. После започнах да тествам многократно, чувствах се добре локално, успях да генерирам тестова работа в Word гладко и производителността беше добра. Затова нямах търпение да го пусна на сървъра.

Първият е, че компонент с CLSID {000209FF-0000-0000-C000-000000046} във фабриката на COM се поврежда поради следната грешка: 8000401a Системата не може да стартира сървърния процес, защото конфигурационният ID е неправилен. Моля, проверете потребителското име и паролата. (Изключение от HRESULT:0x8000401A).

Първо, всички тези проблеми са причинени от разрешения, а решението е просто да се конфигурират разрешенията. Полезно не само за Excel и Word, но и за всички Office продукти.

За да стигнем до същината, първо въведете dcomcnfg при изпълнение, отворете component service manager->component service->my computer->DCOM-> намерете съответния Microsoft Excel applicotion/Microsoft Word 97-2003 документ и след това кликнете с десен бутон върху атрибута, за да активирате разрешително за зареждане, което е достатъчно, за да го даде на OK. -------- няма проблем, този проблем е решен.



Нека поговорим за втората ситуация – "Проблем с производителността": Тъй като нашата система е следващата подсистема на нашия уебсайт. Така че има определена потребителска база. Системата беше достъпена от голям брой потребители веднага след пускането ѝ в експлоатация. В началото четиристотин или петстотин статии се групираха на ден, а постепенно обемът на статиите ставаше все по-голям, което беше началото на проблемите със системата. Първото е, че в процеса има много winWord.exe процеси. Не може да свърши. Въпреки че системният код съдържа процеса Quit и рециклира ресурси, проблемът никога не се решава. Последствието от голям брой winword.exe процеси е, че сървърът забавя. Трябва да е особено интензивен за паметта за този компонент.

Няма начин да се реши проблемът. Последният измамник беше да напише услуга за тайминг, която уби процеса на winword, който не работеше. Това лекува симптомите, но не и коренната причина. 、



Тук искам да кажа, че Microsoft Office е софтуер за настолни офиси, разработен основно за обикновени потребители, има богати елементи на потребителски интерфейс и представлява набор от чисто локално работещ софтуер или клиентски софтуер. Интерфейсът за автоматизация на Word е основно проектиран за улесняване на извиквания на прозоречни приложения. Например, нативни приложения, разработени от Delphi, VB, C#, Winform и др. Въпреки че е възможно да се принуди Visible да бъде фалшив и Word може да работи в сървърен код, това все пак носи много сложни проблеми.

1. ASP.NET е базиран на B/S архитектура. В B/S архитектурата достъпът на потребителя е едновременно, което означава, че N потребители често правят заявки към сървърна страница едновременно. В този случай автоматизираното извикване на Word често от време на време спира.

2. Поради работата на скрит интерфейс, някои интерфейси, които включват интерфейси, които могат успешно да бъдат извикани в прозоречната програма, ще не успеят да извикат от страна на сървъра или дори да се сриват, което често води до неработещи процеси.

3. Тъй като Word е сложна десктоп програма и не отговаря на стандартите на общите уеб услуги по отношение на простота и ефективност, той работи бавно на сървърната страна и ще изразходва много ресурси (CPU, памет), особено не може да поддържа голям брой потребители за достъп едновременно и ресурсите ще се изчерпят бързо.

4. Повечето разработчици са сравнително непознати с COM технологията и често има грешки в кода при програмиране и извикване на Word интерфейса, което е трудно да се провери проблемът, който често причинява неработещи процеси. Word мъртвите процеси не само изразходват ресурси на сървъра, но често причиняват неспособността на сървърните страници да създават нови обекти за автоматизация на Word и да продължат да работят. Някои потребители в интернет предложиха решение за мъртъв процес: програмиране за убиване на мъртвия процес на Word, което е практика за лечение на симптомите, но не и на коренната причина; мъртвият процес на Word е изчезнал, но необичайното затваряне на Word ще доведе до невъзможност за освобождаване на много ресурси навреме. Колко дълго ще издържи такъв уеб сървър е трудно да се каже.



За да реши тези проблеми, след обширно проучване и сравнение, авторът установи, че в интернет има компонент aspose.words, който напълно елиминира горните проблеми и се препоръчва да сподели с вас.



По-долу ще споделя с вас част от оперативния код на компонента aspose.words с надеждата, че ще бъде полезен на тези, които имат нужда от него





Оригинален линк: http://blog.csdn.net/fraing/article/details/8989736




Предишен:[Помощ] Ако искаш да създадеш уебсайт, можеш да използваш html, за да ми помогнеш да променя изходния код на следващата отделна страница. Поискай помощ
Следващ:Aspose.Words за генериране на PDF документи
Публикувано в 3.05.2020 г. 9:07:08 ч. |
Добър пост, полезен
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com