Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 37223|Svar: 1

[Källa] aspose.words för att generera provpapper

[Kopiera länk]
Publicerad på 2016-04-08 16:44:24 | | |

Nyligen gjorde jag ett onlineprojekt med pappersgruppering. De viktigaste funktionerna utför ordsättning, förhandsgranskning och generering av provpapper. När det gäller ordoperationer i början är en sak som dyker upp i tankarna kontorets COM-komponent för att hantera Word. Det tog ungefär två veckor att skriva koden för hela systemet. Sedan började jag testa upprepade gånger, och jag kände mig bra lokalt, och jag kunde generera ett ordprov smidigt, och prestandan var okej. Så jag kunde knappt vänta med att släppa det till servern.

Den första är att en komponent med CLSID {000209FF-0000-0000-C000-000000046} i COM-fabriken fallerar på grund av följande fel: 8000401a Systemet kan inte starta serverprocessen eftersom konfigurations-ID:t är felaktigt. Vänligen kontrollera användarnamn och lösenord. (Undantag från HRESULT:0x8000401A).

För det första orsakas alla dessa problem av behörigheter, och lösningen är helt enkelt att konfigurera behörigheter. Inte bara användbart för Excel och Word, utan även för alla Office-produkter.

För att komma till saken, skriv först in dcomcnfg i körningen, öppna component service manager->component service->my computer->DCOM-> hitta motsvarande Microsoft Excel-applikation/Microsoft Word 97-2003-dokument, och högerklicka sedan på attributet för att aktivera bootbehörigheten räcker för att ge det OK. -------- inga problem, detta problem är löst.



Låt oss prata om den andra situationen, "Prestandaproblemet": Eftersom vårt system är nästa delsystem på vår webbplats. Så det finns en viss användarbas. Systemet nåddes av ett stort antal användare så snart det togs i luften. I början grupperades fyra eller femhundra artiklar per dag, och långsamt blev volymen av artiklar större och större, vilket blev början på problemen med systemet. Den första är att det finns många winWord.exe processer i processen. Det kan inte ta slut. Även om systemkoden innehåller avslutsprocessen och återvinner resurser, löses problemet aldrig. Konsekvensen av ett stort antal winword.exe processer är att servern saktar ner. Det borde vara särskilt minneskrävande för denna komponent.

Det finns inget sätt att lösa problemet. Den sista rogue var att skriva en tidstjänst som dödade winword-processen som inte kördes. Detta behandlar symtomen men inte grundorsaken. 、



Här vill jag säga att Microsoft Office är en skrivbordsapplikation som främst utvecklas för vanliga användare, den har rika UI-element (användargränssnitt) och är en uppsättning renodlade lokala körbara eller klientprogramvaror. Word-automationsgränssnittet är främst utformat för att underlätta anrop av fönsterapplikationer. Till exempel inbyggda applikationer utvecklade av Delphi, VB, C# Winform, etc. Även om det är möjligt att tvinga Visible att vara falskt och Word kan köras i serverkod, medför det fortfarande många knepiga problem.

1. ASP.NET är baserad på B/S-arkitektur. I B/S-arkitekturen sker användaråtkomst samtidigt, vilket innebär att N användare ofta gör förfrågningar till en serversida samtidigt. I detta fall dör ofta Word-automationsanropet då och då.

2. På grund av den dolda gränssnittsfunktionen kommer vissa gränssnitt som involverar gränssnitt som kan anropas framgångsrikt i fönsterprogrammet att misslyckas med att anropa på serversidan, eller till och med krascha, vilket ofta leder till döda processer.

3. Eftersom Word är ett komplext skrivbordsprogram och inte uppfyller standarderna för allmänna webbtjänstprogram för enkelhet och effektivitet, är det långsamt att köra på serversidan och förbrukar mycket resurser (CPU, minne), särskilt eftersom det inte kan stödja ett stort antal användare samtidigt, och resurserna kommer snabbt att ta slut.

4. De flesta utvecklare är relativt obekanta med COM-teknologin, och det finns ofta vissa kodfel vid programmering och anrop av Word-gränssnittet, och det är svårt att kontrollera problemet, vilket är en vanlig faktor som orsakar döda processer. Word-dead-processer förbrukar inte bara serverresurser utan orsakar ofta att serversidor inte skapar nya Word-automationsobjekt och fortsätter att fungera. Vissa nätanvändare föreslog en lösning på döda processer: programmering för att döda den döda processen i Word, vilket är en praxis för att behandla symtomen men inte grundorsaken, den döda processen i Word är borta, men den onormala stängningen av Word kommer att göra att många resurser inte kan släppas ut i tid. Hur länge en sådan webbserver kommer att fungera är svårt att säga.



För att lösa dessa problem fann författaren efter omfattande forskning och jämförelse att det finns en komponentkomponent aspose.words på internet, som helt eliminerar ovanstående problem och rekommenderas att dela med dig.



Nedan kommer jag att dela med mig av en del av operationskoden för aspose.words-komponenten med dig i hopp om att det ska vara till hjälp för dem som behöver det





Originallänk: http://blog.csdn.net/fraing/article/details/8989736




Föregående:[Hjälp] Om du vill bygga en webbplats kan du html:a för att hjälpa mig ändra källkoden på nästa enda sida. Be om hjälp
Nästa:Aspose.Words för att generera PDF-dokument
Publicerad på 2020-05-03 09:07:08 |
Bra inlägg, hjälpsamt
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com