Nemrég egy online papírcsoportosítási projektet csináltam. A fő feladatok a szöveges betűtípus, az előnézet és a dolgozatok elkészítése. Amikor a Word műveletekről van szó elején, az egy dolog, ami eszembe jut, az Office COM komponens, amely a word működtetéséhez. Körülbelül két hétbe telt, mire megírtam a kódot az egész rendszerhez. Ezután elkezdtem többször tesztelni, helyben jól éreztem magam, és sikerült simán elkészíteni egy szóteszt dolgozatot, és a teljesítmény rendben volt. Szóval alig vártam, hogy kiadjam a szervernek.
Az első, hogy egy komponens CLSID-vel {000209FF-0000-0000-C000-0000000046} a COM gyárban hibásodik a következő hiba miatt: 8000401a A rendszer nem tudja elindítani a szerver folyamatát, mert a konfigurációs azonosító hibás. Kérlek, ellenőrizd a felhasználónevet és a jelszót. (Kivétel a HRESULT:0x8000401A).
Először is, mindezeket a problémákat a jogosultságok okozzák, és a megoldás egyszerűen a jogosultságok konfigurálása. Nemcsak az Excel és a Word számára hasznos, hanem minden Office termékhez is.
A lényeghez először írd be a dcomcnfg parancsot a runba, nyisd meg a komponens-service manager->component service->my computer->DCOM-> keresd meg a megfelelő Microsoft Excel applicotion/Microsoft word 97-2003 dokumentumot, majd jobb kattintással az attribútumra a boot engedély aktiválásához elég ahhoz, hogy OK legyen a jog. -------- probléma nélkül, ez a probléma megoldódott.
Beszéljünk a második helyzetről, "Teljesítményproblémáról": mivel a mi rendszerünk a weboldalunk következő alrendszere. Tehát van egy bizonyos felhasználói bázis. A rendszert már az életbe lépés után sok felhasználó használta. Kezdetben naponta négy-ötszáz cikket csoportosítottak, és lassan egyre nagyobb lett a cikkek mennyisége, ami a rendszer problémáinak kezdete volt. Az első, hogy sok winWord.exe folyamat zajlik a folyamatban. Nem lehet véget érni. Bár a rendszerkód tartalmazza a Kilépés folyamatot és újrahasznosítja az erőforrásokat, a probléma soha nem oldódik meg. A sok winword.exe folyamat következménye, hogy a szerver lelassul. Különösen memóriaigényesnek kell lennie ezen az alkatrésznek.
Nincs mód a probléma megoldására. Az utolsó tolvaj egy időzítő szolgáltatást írt, amely megölte a nem futó winword folyamatot. Ez kezeli a tüneteket, de nem a gyökérokot. 、
Itt azt szeretném mondani, hogy a Microsoft Office egy asztali irodai alkalmazás, amelyet főként hétköznapi felhasználóknak fejlesztettek, gazdag felhasználói felületekkel (felhasználói felület) rendelkezik, és tiszta helyi, futó szoftverek vagy kliens szoftverek halmaza. A Word automatizálási felülete elsősorban az ablakalkalmazás-hívások megkönnyítésére lett tervezve. Például Delphi, VB, C# Winform által fejlesztett natív alkalmazások. Bár lehetséges kényszeríteni a Visible hamisságra, és a Word szerveroldali kódban is futhat, mégis sok bonyolult problémát okoz.
1. ASP.NET B/S architektúrán alapul. A B/S architektúrában a felhasználói hozzáférés párhuzamú, ami azt jelenti, hogy N felhasználó gyakran egyszerre tesz kérést egy szerveroldalra. Ebben az esetben a Word automatizálási hívás gyakran időnként leáll.
2. A rejtett interfész működése miatt néhány olyan interfész, amely sikeresen meghívható interfészt tartalmaz az ablakprogramban, nem hívja meg a szerver oldalt, vagy akár összeomlik, ami gyakran halott folyamatokhoz vezet.
3. Mivel a Word összetett asztali program, és nem felel meg az általános webszolgáltató programok szabványainak egyszerűségében és hatékonyságában, lassan fut a szerver oldalon, és sok erőforrást (CPU, memória) fogyaszt el, különösen nem képes egyszerre nagy számú felhasználóhoz hozzáférni, és az erőforrások gyorsan kimerülnek.
4. A legtöbb fejlesztő viszonylag ismeretlen a COM technológiával, és gyakran vannak kódhibák programozáskor és a Word interfész hívásakor, így nehéz ellenőrizni a problémát, ami gyakori tényező, ami halott folyamatokat okoz. A Word halott folyamatok nemcsak szerver erőforrásait fogyasztják, hanem gyakran okozzák a szerveroldalak új Word automatizálási objektumok létrehozását, és továbbra is működnek. Néhány netikus egy halott folyamatmegoldást javasolt: programozást, amely megöli a Word halott folyamatát, ami a tünetek kezelése, de nem az alapvető ok, a Word halott folyamata eltűnt, de a Word rendellenes bezárása miatt sok erőforrás nem szabadulhat ki időben. Nehéz megmondani, meddig fog egy ilyen webszerver működni.
E problémák megoldása érdekében alapos kutatás és összehasonlítás után a szerző megállapította, hogy létezik egy komponens az aspose.words az interneten, amely teljesen megszünteti a fent említett problémákat, és ajánlott megosztani Önnel.
Az alábbiakban megosztom veletek az aspose.words komponens működési kódját, abban a reményben, hogy hasznos lesz azoknak, akiknek szükségük van rá
Eredeti link: http://blog.csdn.net/fraing/article/details/8989736
|