Felsökning

Diagnostisera vanliga fel

Många System.Web-fel kastar inget undantag som du kan se: sidan svarar med en tom 500, en ikon ger 404, eller en begäran returnerar aldrig. Denna sida är organiserad efter vad du observerar. Citatade meddelanden är den bokstavliga texten som Doconut producerar.

Symptom på ett överskådligt sätt

Vad du serMest sannolikt orsakÅtgärd
Varje begäran svarar med en tom 500Ett undantag i Application_Start: ett plugin utan licens, ett ogiltigt alternativ, en ofullständig farmkonfiguration — eller en bindningsomdirigering som namnger en version som inte finns i bin\Windows‑händelseloggen, Application, källa ASP.NET. Se Startfel
Vissa MVC‑sidor svarar med en tom 500Razor kompilerar vyer vid körning: netstandard‑fasaden saknas i <compilation>, eller vyn använder C# nyare än 5 (?., $"...", nameof)Lägg till fasaden (Installation); flytta logik från vyn till kontrollern
Sidor visar —, … eller liknande istället för bindestreck och accenterSidfiler utan byte‑order‑mark läses med serverns ANSI‑teckenkodning<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" />
Webbläsarens konsol visar 404 för HEAD /DocImage.axd?...&page=1Handlaren är registrerad utan HEAD‑verbverb="GET,HEAD,POST" på handlaren
Dokumentet renderas, men verktygsfältsikoner och laddningsindikatorn saknasResPath pekar på resursroten, eller börjar med /ResPath: 'doconut-res/images'
/doconut-res/...‑förfrågningar svarar 404Resursmodulen är inte registrerad, runAllManagedModulesForAllRequests är avstängd, eller MVC‑routing fångar sökvägen<modules>‑posten, och routes.IgnoreRoute("doconut-res/{*pathInfo}")
Visaren rapporterar The viewer handler could not be reached (no response).BasePath börjar med / ('/myapp' blir //myapp/…, annan värd)BasePath: '/' i webbplatsens rot; 'myapp' i en virtuell katalog
Visaren rapporterar Please make sure your middleware is configured.DocImage.axd svarade 404: handlaren finns inte i Web.config, MVC‑routing fångade den, eller BasePath pekar någon annanstans<handlers>‑posten, routes.IgnoreRoute("{resource}.axd/{*pathInfo}"), och BasePath
Varje sida visar You Are Not Authorized To View This Page.Dokumentet öppnades i en begäran utan sessionsstatus, sessionsstatus är avstängd, eller sessionskakan når inte DocImage.axdSe Ej behörig
En Web Forms‑konvertering returnerar aldrigSidan blockerar på ConvertAsync — ett deadlockAsync="true" + RegisterAsyncTask (Konverterings‑plugin)
Varje sida har ett utvärderingsvattenmärkeIngen licens hittades — den finns inte i <site root>\wwwrootLicensinställning
En widget laddas, men dess första åtgärd svarar 404Widgeten är inte aktiverad, eller dess basePath är inte '/DocImage.axd'options.Add…Widget(), och basePath: '/DocImage.axd'
Det första dokumentet efter att webbplatsen startas eller återställs tar en minut eller mer; senare är snabbaDokumentmotorerna laddas vid första öppning, och realtid‑antivirus skannar dem när de laddasVärm upp webbplatsen och håll poolen igång — se Det första dokumentet efter en start
En stor uppladdning visar en IIS‑felsidaUppladdningen överskrider maxRequestLength (KB) eller maxAllowedContentLength (byte)Höj båda över din största fil‑ eller widgetgräns

Startfel

Ett undantag som kastas i Application_Start når inte webbläsaren: varje begäran svarar med en tom 500, och IIS‑loggen visar inget användbart. Undantaget finns i Windows‑händelseloggen (Event Viewer → Windows Logs → Application, källa ASP.NET). De vanliga:

Ett plugin utan licens:

text
The Converter plugin is registered via AddPlugin but no active license grants Converter.
Remove the AddPlugin<...>() call or install a license (or trial/demo) that includes Converter.

Pluginets Doconut.Viewer.<Capability>.lic måste vara i wwwroot, bredvid Doconut.Viewer.lic. En saknad licens och en äldre TRIAL‑fil ger inga plugin‑funktioner.

Ogiltiga alternativ:

text
DoconutOptions.MiddlewarePath must be a non-empty path starting with '/'.
DoconutOptions.ResourcesPath must be a non-empty path starting with '/'.
DoconutOptions.MiddlewarePath and ResourcesPath must be different paths.

En assembly som inte kan laddas.

ASP.NET laddar varje assembly i bin\ när applikationen startar, så en bindningsomdirigering i Web.config som namnger en version som saknas i bin\ stoppar hela webbplatsen. Kopiera omdirigeringarna som NuGet genererade (för ett SDK‑stilprojekt, från bin\<YourApp>.dll.config) istället för att redigera dem manuellt, och kopiera dem igen efter paketuppdateringar.

Du har inte behörighet att visa den här sidan.

Sidan nekas eftersom den begärande ASP.NET‑sessionen aldrig fick dokumentet. Kontrollera i följd:

  1. Öppningen kördes med sessionsstatus. MVC‑kontroller och Web Forms‑sidor har den. En anpassad IHttpHandler som öppnar dokument måste implementera System.Web.SessionState.IRequiresSessionState, annars har den ingen session att bevilja.
  2. Sessionsstatus är på. <sessionState mode="Off" /> vägrar varje sida.
  3. Cookien når hanteraren. Widgetens same‑origin‑förfrågningar bär ASP.NET_SessionId; ett skript, ett server‑till‑server‑anrop eller en cross‑origin‑sida utan cookies gör det inte.
  4. Webbfarm: öppningen binder webbläsaren (DocOptions.BrowserId) och sidan vidarebefordrar biljetten (objViewer.View(token, access)); varje nod använder samma signeringsnyckel.

Nekandet är en bild som levereras med status 200, cirka 2 KB. En övervakare som bara kontrollerar statuskoder räknar den som en sida.

Dokumentsession ej funnen. Vänligen öppna dokumentet igen.

Tokenet gick ut (glidande fönster, DocOptions.TimeOut, standard 60 minuter), dokumentet stängdes, eller — på en enskild server — återställdes applikationspoolen. En återställning sker enligt schema, vid varje Web.config‑redigering och efter poolens inaktiva tidsgräns (20 minuter som standard i IIS). Öppna dokumentet igen för ett nytt token.

Det går inte att öppna ett dokument

LicenseException med en avvisningsorsak — licensfilen hittades men avslogs (ogiltig signatur, manipulation, svartlistning eller en byggnad utanför licensens versionsfönster). Öppning blockeras snarare än vattenmärkt.

LicenseException:

text
This document type requires the 'Dicom' plugin license.

Filändelsen hanteras endast av ett plugin (här DICOM) vars funktionalitet inte är beviljad.

FormatNotSupportedException — ingen visare (inbyggd, plugin eller anpassad) stödjer filändelsen. DoconutOptions.RegisterViewer kan lägga till en för dina egna format.

InvalidDataException — innehållet är korrupt eller matchar inte filändelsen (en omdöpt fil). Validera uppladdningar innan öppning.

InvalidOperationException:

text
No IDocumentConverter is registered. Add the converter plugin: options.AddPlugin<Doconut.Plugins.Converter.ConverterPlugin>().

DocumentConverter löstes utan att registrera Converter‑pluginet.

Utdata ser felaktig ut

Sidor bär ett vattenmärke — ingen licens hittades, eller den har gått ut eller täcker inte den här versionen. Under IIS måste licensen finnas i wwwroot under webbplatsens rot (AppContext.BaseDirectory\wwwroot), inte i bin\. Kontrollera IDoconutLicenseService (License.IsLicenseFileFound, IsExpired, IsVersionValid, License.RejectionMessage).

Äldre dokument renderar förvrängd text — registrera kodsidans teckenkodningar en gång, vid start:

csharp
// Global.asax.cs, Application_Start - innan DoconutHost.Initialize.
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

Felaktiga eller ersatta typsnitt — servern saknar dokumentets typsnitt. En Windows Server utan Office har mycket färre typsnitt än en utvecklingsmaskin. Installera typsnitten, eller peka FontFolders (på WordConfig och PptConfig) mot en mapp som innehåller dem.

En bildanmärkning visas i visaren men exporten har en "Image blocked"-ruta — bildens värd har en privat eller loopback‑adress, som servern vägrar att hämta. Se Anmärkningar.

Funktionen fungerade i utvärdering, är tyst i produktion

En aktiv Tillfällig licens beviljar alla funktioner; din köpta licens beviljar bara det du köpt. Utan en funktion sänds dess Sök‑ eller Anmärkning‑filer inte, och ett registrerat plugin stoppar webbplatsen vid start. Jämför IsCapabilityGranted(...) med varje funktion du använder innan du distribuerar.

Sök hittar ingenting (eller för lite)

  • För en PDF var AllowSearch inte aktiverat när dokumentet öppnades — det är som standard false. Word, Excel och PowerPoint exponerar samma växel.
  • Innehållet är skannat eller enbart bild, så det finns inget textlager att matcha.
  • HTML och Microsoft Project (MPP) är inte sökbara i sina standardinställningar: ställ in DefaultRender = false så att de renderas via en PDF‑projektion med text.
  • objViewer.CanSearch() är false efter initiering: det lösta formatet har ingen sökväg. Detta är separat från Sök‑licensen; kontrollera båda.
  • Sidan läser returvärdet från objViewer.Search(...) — räknaren kommer i dess tredje argument, en återuppringning.

Fortfarande fast?

Reproducera problemet med den minimala konfigurationen från Snabbstart. Om det reproduceras där, kontakta support med dokumentet, din Global.asax.cs, Doconut‑delarna av Web.config, och Windows‑händelseloggposten om det finns en.

Var den här sidan hjälpsam?