Nesen es veicu tiešsaistes papīra grupēšanas projektu. Galvenās funkcijas realizē vārdu iestatīšanu, priekšskatījumu un testa darbu ģenerēšanu. Runājot par vārdu operācijām sākumā, viena lieta, kas nāk prātā, ir biroja COM komponents, lai darbinātu vārdu. Bija nepieciešamas apmēram divas nedēļas, lai uzrakstītu kodu visai sistēmai. Tad es sāku atkārtoti testēt, un es jutos labi vietējā līmenī, un es varēju vienmērīgi izveidot vārdu testa papīru, un veiktspēja bija laba. Tāpēc es nevarēju sagaidīt, kad to izlaidīšu serverī.
Pirmais ir tas, ka komponents ar CLSID {000209FF-0000-0000-C000-0000000046} COM rūpnīcā neizdodas šādas kļūdas dēļ: 8000401a Sistēma nevar sākt servera procesu, jo konfigurācijas ID ir nepareizs. Lūdzu, pārbaudiet lietotājvārdu un paroli. (Izņēmums no HRESULT:0x8000401A).
Pirmkārt, visas šīs problēmas izraisa atļaujas, un risinājums ir tikai atļauju konfigurēšana. Ne tikai noderīgs Excel un Word, bet arī visiem Office produktiem.
Lai nokļūtu līdz punktam, vispirms ievadiet dcomcnfg, atveriet komponentu pakalpojumu pārvaldnieku->komponentu pakalpojumu->mans dators->DCOM-> atrodiet atbilstošo Microsoft Excel lietojumprogrammu / Microsoft Word 97-2003 dokumentu un pēc tam ar peles labo pogu noklikšķiniet uz atribūta, lai aktivizētu sāknēšanas atļauju, kas ir pietiekama, lai to piešķirtu OK. -------- nav problēmu, šī problēma ir atrisināta.
Parunāsim par otro situāciju "Veiktspējas problēma": Tā kā mūsu sistēma ir nākamā mūsu vietnes apakšsistēma. Tātad ir noteikta lietotāju bāze. Sistēmai piekļuva liels skaits lietotāju, tiklīdz tā sāka darboties. Sākumā dienā tika sagrupēti četri vai pieci simti papīru, un lēnām papīru apjoms kļuva arvien lielāks, kas bija sistēmas problēmu sākums. Pirmais ir tas, ka procesā ir daudz winWord.exe procesu. Tas nevar beigties. Lai gan sistēmas kods satur aiziešanas procesu un pārstrādā resursus, problēma nekad netiek atrisināta. Daudzu winword.exe procesu sekas ir tādas, ka serveris palēninās. Šim komponentam tam vajadzētu būt īpaši ietilpīgam atmiņai.
Problēmu nav iespējams atrisināt. Pēdējais negodīgs bija uzrakstīt laika pakalpojumu, kas nogalināja winword procesu, kas nedarbojās. Tas ārstē simptomus, bet ne galveno cēloni. 、
Šeit es gribu teikt, ka Microsoft Office ir darbvirsmas biroja lietojumprogramma, kas galvenokārt izstrādāta parastajiem lietotājiem, tai ir bagātīgi lietotāja interfeisa (lietotāja interfeisa) elementi, un tas ir tīras vietējās darbības programmatūras vai klienta programmatūras kopums. Word automatizācijas interfeiss galvenokārt ir paredzēts, lai atvieglotu logu lietojumprogrammu izsaukumus. Piemēram, vietējās lietojumprogrammas, ko izstrādājuši Delphi, VB, C# Winform utt. Lai gan ir iespējams piespiest Visible būt nepatiesam un Word var darboties servera puses kodā, tas joprojām rada daudz sarežģītu problēmu.
1. ASP.NET ir balstīta uz B / S arhitektūru. B/S arhitektūrā lietotāju piekļuve ir vienlaicīga, kas nozīmē, ka N lietotāji bieži vienlaicīgi pieprasa servera lapu. Šajā gadījumā Word automatizācijas zvans bieži vien laiku pa laikam mirs.
2. Slēptās saskarnes darbības dēļ dažas saskarnes, kas ietver saskarnes, kuras var veiksmīgi izsaukt loga programmā, neizdosies izsaukt servera pusē vai pat avāriju, kas bieži novedīs pie mirušiem procesiem.
3. Tā kā Word ir sarežģīta darbvirsmas programma un neatbilst vispārējo Web pakalpojumu programmu standartiem vienkāršībai un efektivitātei, tā ir lēna darbība servera pusē, un tā patērēs daudz resursu (CPU, atmiņu), jo īpaši tā nevar atbalstīt lielu lietotāju skaitu vienlaicīgi, un resursi tiks ātri izsmelti.
4. Lielākā daļa izstrādātāju ir salīdzinoši nepazīstami ar COM tehnoloģiju, un, programmējot un izsaucot Word saskarni, bieži rodas dažas koda kļūdas, un ir grūti pārbaudīt problēmu, kas ir bieži sastopams faktors, kas izraisa mirušus procesus. Word mirušie procesi ne tikai patērē servera resursus, bet bieži vien izraisa servera lapu neizdošanos izveidot jaunus Word automatizācijas objektus un turpināt darboties. Daži interneta lietotāji ierosināja mirušo procesu risinājumu: programmēšana, lai nogalinātu mirušo Word procesu, kas ir simptomu ārstēšanas prakse, bet ne pamatcēlonis, mirušais Word process ir pagājis, bet nenormāla Word slēgšana izraisīs daudzus resursus, kurus nevarēs atbrīvot laikā. Cik ilgi šāds tīmekļa serveris kalpos, ir grūti pateikt.
Lai atrisinātu šīs problēmas, pēc visaptverošas izpētes un salīdzināšanas autors atklāja, ka internetā ir komponents aspose.words, kas pilnībā novērš iepriekš minētās problēmas un ieteicams dalīties ar jums.
Zemāk es dalīšos ar jums ar dažiem aspose.words komponenta darbības kodiem, cerot, ka tas būs noderīgs tiem, kam tas ir nepieciešams
Oriģinālā saite: http://blog.csdn.net/fraing/article/details/8989736
|