Du kan bädda in en pluginfri dokumentvisare i en ASP.NET Core-, MVC- eller WebForms‑applikation utan att be någon användare installera något.
Företag som hanterar kontrakt, ritningar eller designresurser behöver en visare som respekterar företagets säkerhetspolicyer och aldrig tvingar användare att installera äldre webbläsar‑plugins. Doconut tillhandahåller ett .NET‑dokumentvisare‑SDK för webbläsarbaserade PDF‑, Office‑, CAD‑, e‑post‑ och bildarbetsflöden. Det är inte en hostad tjänst du anropar: du installerar det i din egen applikation, och det renderas där. Detta inlägg beskriver integrationsbesluten utan att förlita sig på versionsspecifik exempelkod.
En förtydligande först, eftersom de två produkterna är lätta att förväxla. Doconut.app är den kostnadsfria webbvisaren — en fil, öppnad i en webbläsarflik, raderad därefter. Det är inte något du bäddar in. Det du bäddar in är Doconut Viewer, SDK‑et, och allt nedan handlar om det.

1. Varför säkerhet och rendering utan plugins är viktigt för .NET‑webbappar
Moderna företag behandlar varje dokument som ett potentiellt dataläckage. När du bäddar in en visare som förlitar sig på ActiveX, Flash eller en inbyggd klient, ärver du tre risker:
| Risk | Påverkan på din .NET‑applikation | Hur Doconut App eliminerar den |
|---|---|---|
| Plugin‑beroende | Användare måste installera eller aktivera ett webbläsar‑plugin, vilket leder till supportärenden och efterlevnadsproblem. | Doconut körs helt i HTML5/Canvas och kräver inga plugins. |
| Okrypterad överföring | Filer transporteras via HTTP eller lagras i klartext, vilket bryter mot GDPR, HIPAA eller interna policyer. | SDK‑et körs i din applikation, så transport och lagring förblir under den TLS‑ och krypteringspolicy du redan tillämpar. Doconut lägger till ingen extra hopp. |
| Okontrollerad livscykel | Filer kan ligga kvar på servern, vilket ökar risken för intrång. | Retentionen är din att bestämma, eftersom dokumenten aldrig lämnar din miljö. Tillfälliga renderingsresultat skrivs där du konfigurerar det och rensas upp enligt ditt schema. |
Den arkitektoniska faktorn som är viktig är att SDK‑et installeras i din egen miljö och inte gör några anrop till Doconut‑servrar. Ingenting laddas upp till oss, så det finns ingen tredje‑partprocessor att lägga till i en datakarta och ingen leverantörsretentionspolicy att förena med din egen.
2. Förbered .NET‑projektet
Använd paketet, dokumentationen och exemplen som matchar den Doconut‑version som valts för projektet. Den officiella Doconut‑nedladdningssidan är en pålitlig startpunkt.
Innan integration, bekräfta mål‑.NET‑runtime, registrera paketversionen, håll licenskonfigurationen utanför källkodshantering och börja med representativa dokument. ASP.NET Core, MVC och WebForms har olika applikationslivscykler, så deras konfiguration bör inte behandlas som identisk.
3. Bygga en säker uppladdnings‑endpoint – AES‑256, SSL och automatisk radering
SDK‑et kan läsa ett dokument från en fysisk sökväg, en ström, en byte‑array, en databas, en URL, en intranätsplats eller en molnleverantör som S3, Azure Storage, Google Cloud eller Dropbox. Vad det aldrig bör läsa är en sökväg som väljs av webbläsaren. Placera en auktoriseringskontroll mellan begäran och dokumentet, oavsett källa. Nedan är en vanlig struktur för den endpointen i ASP.NET Core; samma idéer gäller för MVC och WebForms.
Server‑sidigt arbetsflöde
- Acceptera den uppladdade filen – Använd standard
IFormFile(ellerHttpPostedFilei WebForms) för att ta emot dokumentet från klienten. - Kryptera filen med AES‑256 – Innan du sparar strömmen, kryptera den med ett beprövat bibliotek som
System.Security.Cryptography.Aes. Spara den krypterade blobben på en säker plats (t.ex. Azure Blob Storage med server‑sidig kryptering aktiverad, eller en S3‑hink med SSE‑AES256). - Generera en kortlivad signerad URL – Skapa en URL som är giltig i några minuter (t.ex. 5 minuter). URL:en ska vara HTTPS och inkludera en kryptografisk token som Doconut kan validera. De flesta molnlagringstjänster erbjuder en “pre‑signed URL”-funktion som passar detta behov.
- Returnera den signerade URL:en till klienten – Skicka ett JSON‑svar som innehåller URL:en. Klienten kommer att ge denna URL till Doconut‑visaren.
- Schemalägg automatisk radering – Efter att den signerade URL:en har gått ut tar ett bakgrundsjobb (Hangfire, Azure Functions, etc.) bort den krypterade blobben, vilket garanterar att filen inte kvarstår på servern.
MVC / WebForms‑ekvivalenter
- MVC – Placera samma logik i en vanlig controller‑action och returnera
JsonResult. - WebForms – Implementera en
.ashx‑hanterare eller en sidmetod som följer samma steg: ta emotRequest.Files[0], kryptera, generera en pre‑signed URL och skriv JSON‑svaret.
Den enda skillnaden är routingsyntaxen; säkerhetsarbetsflödet förblir identiskt.
4. Rendera dokumentet via det installerade SDK‑et
Behåll dokumentåtkomst på servern och verkställ auktorisation innan du bearbetar en fil eller ström. Den exakta renderings‑ och UI‑initieringssekvensen är versionsspecifik; följ den officiella dokumentationen som levereras med den installerade builden snarare än att kopiera ett otestat globalt JavaScript‑API.
Varför detta fungerar för alla .NET‑varianter
- ASP.NET Core Razor – Initieringen finns i samma vy som innehåller uppladdningsformuläret, så det finns bara en sida att tänka på.
- MVC – Använd
@section Scriptsför att injicera samma kodsnutt; controllern returnerar JSON som MVC:s$.ajaxkan konsumera. - WebForms – Registrera skriptet med
ClientScript.RegisterStartupScriptefter att uppladdningen är klar, och anropa sedanlaunchViewerpå samma sätt.
Rendering sker på din server, och det är poängen: webbläsaren får renderade sidor istället för källdokumentet, vilket är varför en DWG eller en PSD öppnas på en maskin som varken har AutoCAD eller Photoshop. Dimensionera servern därefter — en skannad 300‑sidig PDF är reellt arbete, och det är nu ditt lager som gör det.
5. Anpassa visaren så den matchar din portal
Företag behöver vanligtvis att visaren ser ut som en del av den produkt den är inbäddad i, snarare än ett fönster in i någon annans. Visarens utseende och den uppsättning kontroller den exponerar är konfigurerbara, och vilka alternativ som finns beror på den build du installerat.
Ta de alternativnamnen från dokumentationen som levereras med din version snarare än från ett blogginlägg. Visarkonfigurationsytor är exakt den typ av sak som byter namn mellan releaser, och en kodsnutt kopierad från en artikel två versioner gammal misslyckas på ett sätt som ser ut som ett licensproblem.
Beslutet som är värt att fatta innan du öppnar den dokumentationen är vilka kontroller varje roll ska se. Om en användare kan skriva ut, ladda ner eller bara bläddra genom ett dokument är en behörighetsfråga som din applikation redan känner svaret på. Konfigurera visaren utifrån det svaret, istället för att exponera varje kontroll och hoppas att ingen klickar.
6. Prestanda och skalbarhet – håll upplevelsen snabb
Att bädda in en visare i en högtrafikerad portal väcker två praktiska frågor: laddningstid och konkurrerande rendering. Doconut App hanterar båda direkt ur lådan, men du kan förstärka prestandaområdet med några .NET‑specifika knep.
| Problem | Vad du kan göra |
|---|---|
| First page latency | Sidans automatiska laddning låter läsaren se första sidan medan resten fortfarande förbereds. Aktivera komprimering av statiska filer (app.UseResponseCompression()) och cachea klientens resurser. |
| Repeated views of one file | Ett ofta öppnat dokument kan renderas en gång och levereras från cache istället för att renderas om för varje begäran. FAQ:n täcker .DCN‑alternativet för just detta. |
| Rendering cost | Rendering är serverarbete. Att sänka bildupplösningen där noggrannhet inte är kritisk är den största enskilda hävstången, och det är en konfigurationsändring snarare än en kodändring. |
| Concurrency | Granska timeout‑ och AutoClose‑inställningar under belastning, och läs exempel för webbfarm innan du antar att en nod räcker. Begränsa uppladdnings‑endpointen med hastighetsbegränsning. |
Mät med dina egna dokument. En 5 MB text‑baserad PDF och en 5 MB skanning av samma rapport beter sig helt olika, och bara den ena dyker upp i ett syntetiskt benchmark.
Viktiga punkter
- Doconut Viewer är ett plugin‑fritt .NET SDK som fungerar med ASP.NET Core, MVC och WebForms. Dina användare installerar ingenting.
- Det installeras i din egen miljö och gör inga anrop till Doconut‑servrar, så dokumenten förblir inom den gräns du redan kontrollerar.
- Transportsäkerhet, kryptering i vila och lagringstid är du som bestämmer, eftersom filen aldrig lämnar din infrastruktur. Doconut blir inte en processor i din datakarta.
- SDK‑katalogen innehåller 75 filformat över 18 familjer — PDF, Office, CAD, Visio, Project, e‑post, eBook och bilder, med DICOM via sitt eget plugin.
- Rendering sker på servern. Det är vad som låter en webbläsare öppna en DWG, och det är också den post som måste dimensioneras.
- Vilka kontroller en användare ser — skriva ut, ladda ner eller endast bläddra — bör följa de behörigheter som din applikation redan har.
- Ta konfigurationsalternativens namn från dokumentationen för din installerade version, aldrig från en artikel.
Vanliga frågor
Q1: Installerar jag något på servern?
A: Ja. Doconut Viewer är ett .NET SDK du installerar i din applikation — börja från Doconut nedladdningssida och använd paketet och dokumentationen för den version du valt. Det finns ingen hostad endpoint att anropa, och inget levereras från ett Doconut CDN.
Q2: Vem raderar filen efter visning?
A: Du gör det. Eftersom dokumentet och all temporär renderingsoutput finns i din miljö, är lagringstid en inställning i din applikation snarare än ett löfte från en leverantör. Bestäm var temporära filer skrivs och vad som tar bort dem, innan du går i produktion.
Q3: Kan användare skriva ut dokumentet?
A: Utskrift är en funktion i visaren, och den kan beviljas eller nekas per användare. Observera att kontrollerad utskrift är en del av själva visaren — den är inte ett av de fyra licensierade pluginen, som är Annotation, Converter, DICOM och Search.
Q4: Kan den konvertera ett dokument till ett annat format?
A: Det är Converter‑pluginet, licensierat separat. Visning och konvertering är olika produkter här, och det är viktigt att vara tydlig med vilken som faktiskt behövs i arbetsflödet.
Redo att integrera en noll‑plugin dokumentvisare i din .NET‑applikation? Börja från Doconut nedladdningssida — testlicensen är gratis. Och om det du egentligen behövde var att öppna en fil idag, så gör Doconut.app det i en webbläsarflik och raderar den därefter.