Begränsningar i Office Web Components när de används på en server

Artikelöversättning Artikelöversättning
Artikel-id: 317316 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

Sammanfattning

Med Microsoft Office Web Components får webbutvecklare tillgång till funktioner för kalkylblad, diagram och pivottabeller som kan användas för att göra webbsidor mer dynamiska. Komponenterna utvecklades som ActiveX-kontroller för användning i Microsoft Internet Explorer på klienter.

Komponenternas funktioner har dock gjort att många utvecklare använder dem i serverlösningar, t ex med Active Server Pages (ASP) och COM+, för att skapa och exportera diagram. Visserligen kan komponenterna användas på detta sätt men det finns begränsningar som kan påverka stabilitet och prestanda hos serverkod, vilket gör att problem kan uppstå i stora serverlösningar.

Mer Information

Microsoft rekommenderar inte att Office Web Components används i serverlösningar. Det finns flera kända begränsningar som förhindrar att komponenterna fungerar korrekt i fleraktiva, flertrådade och icke-interaktiva miljöer. Följande problem kan uppstå:
  • Långsam körning och dåliga prestanda: Office 2000 Web Components utformades för en miljö med inneslutning för flera enkla trådar (STA) i Internet Explorer och inte för inneslutning för flera trådar (MTA) som används i de flesta serverlösningar. Skyddet för samtidig behandling av trådar för Office Web Components har inte utformats för flertrådade högvolymsanrop som är vanliga i webbtjänster, vilket kan påverka prestanda negativt. Till exempel skyddas ett antal delade minnesblock i Office Web Components med samma kritiska avsnitt så att trådar där minnesavsnitt inte ändras fortfarande kan blockeras om minnesavsnittet ändras med en annan tråd. Dessutom har många behandlingsfunktioner importerats från andra Office-källor som har utformats i en enkeltrådig modell, och dessa kodavsnitt kan inte köras samtidigt.
  • Slut på ledigt minne: I Office Web Components används en statisk version av det delade Microsoft Office-biblioteket för minneshantering. Funktionerna för minnesallokering i det delade Microsoft Office-biblioteket är utformade för körning på klienter och de klarar inte den belastning och de samtidiga förfrågningar som vanligtvis förekommer i serverlösningar. Detta kan begränsa mängden tillgängligt minne för komponenterna, oavsett hur mycket ledigt minne det finns på datorn.
  • Automatiseringsfel vid slumpmässiga tidpunkter: I Office Web Components används vissa lägesvariabler som saknar fullständigt skydd och om dessa variabler ändras när en funktion körs kan funktionen oväntat avslutas. Det är mer sannolikt att sådana fel uppstår i funktioner som kräver asynkron behandling (t ex för att begära data från en datakälla eller för beräkning av cellvärden i kalkylblad) om automatisering sker via flera trådar samtidigt.
  • Dödläge för trådar: I vissa fall kan det uppstå konkurrenstillstånd i Office Web Components vilka leder till oändliga väntetillstånd eller globala undantag, vilka i sin tur kan göra att trådar tappas och resurser går förlorade. Dessa problem uppstår vanligtvis när komponenterna är "stressade", t ex om samtidiga förfrågningar skickas till servern från många klienter och varje förfrågan innebär att dess komponentinstans skapas, automatiseras och förstörs. Poolinstanser kan minska risken för dödläge.
  • Konkurrens mellan flera trådar: Om Office Web Components-komponenter skapas separat i separata inneslutningar för enkla trådar i en enstaka process och trådarna körs samtidigt, kan prestanda påverkas negativt eller så kan det uppstå konkurrens mellan trådar, vilket i sin tur kan ge hög processorbelastning eller lägesskador. Du bör hålla alla instanser i samma inneslutning för enkel tråd och om du behöver parallell körning kan du skapa separata processer för varje inneslutningstråd som krävs.
Problemen som beskrivs ovan beror på designbegränsningar som är medvetna val med tanke på att komponenterna är avsedda att användas som ActiveX-kontroller på klienter. Det finns inga lösningar eller korrigeringar för begränsningarna.

Även det går att köra Office Web Components på en en liten webbplats kan dessa begränsningar göra att det inte går att öka lösningens skala för stora webbplatser med mycket trafik. Om du planerar att införa en ny lösning bör du överväga i vilken skala lösningen ska köras och avgöra om Office Web Components kan täcka behoven. Om du behöver en skalbar lösning finns det många produkter från andra leverantörer med liknande funktioner som är utformade för serverbruk. Dessa produkter kan passa dina behov bättre.

Om du använder Office Web Components på en server i en webblösning bör du uppgradera till den senaste versionen. Vissa minnes- och automatiseringsproblem har åtgärdats senare versioner av Office Web Components. Fortfarande gäller dock att Office Web Components inte är lämpliga för stora serverlösningar.

Referenser

Den senaste versionen av Office Web Components finns att hämta på följande Office-webbplats:
http://www.microsoft.com/downloads/details.aspx?displaylang=sv&FamilyID=7287252C-402E-4F72-97A5-E0FD290D4B76
Om du vill veta mer om omständigheter när en webbutvecklare kan vilja använda Office Web Components i en serverlösning klickar du på följande artikelnummer och läser artiklarna i Microsoft Knowledge Base:
286278 Så här skapar du ett interaktivt Office XP-diagram på en server med hjälp av ASP (Länken kan leda till en webbplats som är helt eller delvis på engelska)
294798 Så här använder du ASP för att skapa en Office XP-pivottabell och visa resultatet som HTML (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Egenskaper

Artikel-id: 317316 - Senaste granskning: den 7 februari 2006 - Revision: 5.1
Informationen i denna artikel gäller:
  • Microsoft Office Web Components
  • Microsoft Office Web Components
  • Microsoft Office Chart Component 9.0
  • Microsoft Office Spreadsheet Component 9.0
  • Microsoft Office PivotTable Component 9.0
Nyckelord: 
kbinfo kbdownload kbofficewebchart kbofficewebpivot kbofficewebspread KB317316

Ge feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com