Sorun Giderme

Yaygın hataları teşhis edin

Birçok System.Web hatası, görebileceğiniz bir istisna üretmez: sayfa boş bir 500 ile yanıt verir, bir simge 404 döner veya bir istek hiç geri dönmez. Bu sayfa, gözlemlerinize göre düzenlenmiştir. Alıntılanan mesajlar, Doconut'un ürettiği tam metindir.

Bir bakışta Belirtiler

GörüntülediğinizEn olası nedenÇözüm
Her istek boş bir 500 ile yanıt verirApplication_Start içinde bir istisna: lisansı olmayan bir eklenti, geçersiz bir seçenek, eksik bir farm yapılandırması — ya da bin\ içinde olmayan bir sürümü adlandıran bir binding yönlendirmesiWindows olay günlüğü, Application, kaynak ASP.NET. Bkz. Başlangıç hataları
Bazı MVC sayfaları boş bir 500 ile yanıt verirRazor, görünümleri çalışma zamanında derler: netstandard yüzü <compilation> içinde eksik, ya da görünüm C# 5'ten daha yeni bir sürüm kullanıyor (?., $"...", nameof)Yüzeyi ekleyin (Kurulum); mantığı görünüştan denetleyiciye taşıyın
Sayfalar tire ve aksanlar yerine —, … veya benzeri gösterirByte-order mark içermeyen sayfa dosyaları, sunucunun ANSI kod sayfası ile okunur<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" />
Tarayıcı konsolu 404 gösterir HEAD /DocImage.axd?...&page=1 içinİşleyici, HEAD fiili olmadan kaydedilmişverb="GET,HEAD,POST" işleyicide
Belge renderlanıyor, ancak araç çubuğu simgeleri ve yükleme çarkı eksikResPath kaynak köküne işaret ediyor, ya da / ile başlıyorResPath: 'doconut-res/images'
/doconut-res/... istekleri 404 ile yanıt verirKaynak modülü kaydedilmemiş, runAllManagedModulesForAllRequests kapalı, ya da MVC yönlendirmesi yolu yakalar<modules> girişi ve routes.IgnoreRoute("doconut-res/{*pathInfo}")
Görüntüleyici The viewer handler could not be reached (no response). rapor ederBasePath / ile başlar ('/myapp', //myapp/… olur, başka bir host)BasePath: '/' site kökünde; 'myapp' sanal dizinde
Görüntüleyici Please make sure your middleware is configured. rapor ederDocImage.axd 404 yanıtladı: işleyici Web.config içinde değil, MVC yönlendirmesi yakaladı, ya da BasePath başka bir yere işaret ediyor<handlers> girişi, routes.IgnoreRoute("{resource}.axd/{*pathInfo}") ve BasePath
Her sayfa You Are Not Authorized To View This Page. gösterirBelge, oturum durumu olmayan bir istekle açıldı, oturum durumu kapalı, ya da oturum çerezi DocImage.axd'a ulaşmıyorBkz. Yetkisiz
Bir Web Forms dönüşümü hiç dönmezSayfa ConvertAsync üzerinde bloklanır — bir deadlockAsync="true" + RegisterAsyncTask (Dönüştürücü Eklentisi)
Her sayfa bir değerlendirme filigranı taşırLisans bulunamadı — <site root>\wwwroot içinde değilLisans Kurulumu
Bir widget yüklenir, ancak ilk eylemi 404 ile yanıt verirWidget etkin değil, ya da basePath '/DocImage.axd' değiloptions.Add…Widget(), ve basePath: '/DocImage.axd'
Site başlatıldıktan veya yeniden başlatıldıktan sonraki ilk belge bir dakika ya da daha uzun sürer; sonraki belgeler hızlıdırBelge motorları ilk açılışta yüklenir ve gerçek zamanlı antivirüs onları yüklerken tararSiteyi ısıtın ve havuzu çalışır tutun — Bkz. Başlangıçtan sonraki ilk belge
Büyük bir yükleme IIS hata sayfası gösterirYükleme maxRequestLength (KB) veya maxAllowedContentLength (bayt) değerlerini aşarHer ikisini de en büyük dosyanızın veya widget sınırınızın üzerine çıkarın

Başlangıç hataları

Application_Start içinde atılan bir istisna tarayıcıya ulaşmaz: her istek boş bir 500 ile yanıt verir ve IIS günlüğü faydalı bir şey göstermez. İstisna Windows olay günlüğünde (Event Viewer → Windows Logs → Application, source ASP.NET) bulunur. Yaygın olanlar:

Lisansı olmayan bir eklenti:

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.

Eklentinin Doconut.Viewer.<Capability>.lic, wwwroot içinde, Doconut.Viewer.lic yanına yerleştirilmelidir. Eksik bir lisans ve eski bir TRIAL dosyası, eklenti yetenekleri sağlamaz.

Geçersiz seçenekler:

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.

Yüklenemeyen bir derleme. ASP.NET, uygulama başlatıldığında bin\ içindeki her derlemeyi yükler, bu yüzden bin\ içinde bulunmayan bir sürümü adlandıran Web.config içindeki bir binding yönlendirmesi tüm siteyi durdurur. Yönlendirmeleri elle düzenlemek yerine NuGet'in oluşturduğu yönlendirmeleri (SDK tarzı bir proje için, bin\<YourApp>.dll.config'dan) kopyalayın ve paket güncellemelerinden sonra tekrar kopyalayın.

Bu Sayfayı Görüntüleme Yetkiniz Yok.

Sayfa, istekte bulunan ASP.NET oturumuna belge hiç verilmediği için reddedildi. Sırasıyla kontrol edin:

  1. Açma, oturum durumu ile çalıştı. MVC denetleyicileri ve Web Forms sayfaları bunu içerir. Belgeleri açan özel bir IHttpHandler, System.Web.SessionState.IRequiresSessionState uygulamalıdır, aksi takdirde vermek için oturumu yoktur.
  2. Oturum durumu açık. <sessionState mode="Off" /> her sayfayı reddeder.
  3. Çerez işleyiciye ulaşır. Widget'ın aynı kaynak istekleri ASP.NET_SessionId taşır; bir betik, sunucu‑sunucu çağrısı veya çerezsiz çapraz kaynak sayfa taşımaz.
  4. Web çiftliği: açma, tarayıcıyı (DocOptions.BrowserId) bağlar ve sayfa bileti (objViewer.View(token, access)) iletir; her düğüm aynı imzalama anahtarını kullanır.

Reddetme, durum 200 ile sunulan yaklaşık 2 KB'lık bir görüntüdür. Yalnızca durum kodlarını kontrol eden bir izleyici bunu bir sayfa olarak sayar.

Belge oturumu bulunamadı. Lütfen belgeyi yeniden açın.

Jeton süresi doldu (kaydırmalı pencere, DocOptions.TimeOut, varsayılan 60 dakika), belge kapatıldı veya — tek bir sunucuda — uygulama havuzu yeniden başlatıldı. Yeniden başlatma, zamanlamaya göre, her Web.config düzenlemesinde ve havuzun boşta kalma zaman aşımından (IIS'te varsayılan 20 dakika) sonra gerçekleşir. Yeni bir jeton için belgeyi tekrar açın.

Belge Açma Başarısız

LicenseException reddetme nedeni ile — lisans dosyası bulundu ancak reddedildi (geçersiz imza, manipülasyon, kara listeye alım veya lisansın sürüm penceresinin dışındaki bir yapı). Açma, filigran eklemek yerine engellenir.

LicenseException:

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

Uzantı yalnızca (burada DICOM) yetkisi verilmemiş bir eklenti tarafından işlenir.

FormatNotSupportedException — uzantıyı iddia eden bir görüntüleyici (yerleşik, eklenti veya özel) yok. DoconutOptions.RegisterViewer kendi formatlarınız için bir tane ekleyebilir.

InvalidDataException — içerik bozuk veya uzantısıyla eşleşmiyor (yeniden adlandırılmış dosya). Açmadan önce yüklemeleri doğrulayın.

InvalidOperationException:

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

DocumentConverter, Converter eklentisi kaydedilmeden çözüldü.

Çıktı Yanlış Görünüyor

Sayfalar filigran taşır — lisans bulunamadı, süresi doldu veya bu sürümü kapsamaz. IIS altında, lisans site kökünün (AppContext.BaseDirectory\wwwroot) altında wwwroot içinde olmalı, bin\ içinde değil. IDoconutLicenseService kontrol edin (License.IsLicenseFileFound, IsExpired, IsVersionValid, License.RejectionMessage).

Eski belgeler bozuk metin gösterir — kod sayfası kodlamalarını bir kez, başlangıçta kaydedin:

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

Yanlış veya değiştirilmiş yazı tipleri — sunucuda belgenin yazı tipleri yok. Office olmadan bir Windows Server, bir geliştirme makinesine göre çok daha az yazı tipine sahiptir. Yazı tiplerini kurun veya FontFolders (WordConfig ve PptConfig üzerinde) bunları içeren bir klasöre yönlendirin.

Bir görüntü açıklaması görüntüleyicide görünür ancak dışa aktarımda "Görüntü engellendi" kutusu vardır — görüntünün sunucusu özel veya döngüsel bir adrese sahiptir ve sunucu bunu almaya izin vermez. Bakınız Açıklamalar.

Özellik Değerlendirmede Çalıştı, Üretimde Sessiz

Bir aktif Geçici lisans tüm yetenekleri verir; satın aldığınız lisans sadece satın aldıklarınızı kapsar. Bir yetenek olmadan, arama veya açıklama dosyaları üretilmez ve kaydedilmiş bir eklenti, siteyi başlangıçta durdurur. Dağıtmadan önce IsCapabilityGranted(...)'ı kullandığınız her özellik ile karşılaştırın.

Arama Hiçbir Şey Bulamıyor (veya Çok Az)

  • PDF için, belge açıldığında AllowSearch etkinleştirilmemişti — varsayılan olarak false kullanılır. Word, Excel ve PowerPoint aynı anahtarı sunar.
  • İçerik taranmış veya yalnızca görüntü olduğu için eşleşecek bir metin katmanı yoktur.
  • HTML ve Microsoft Project (MPP) varsayılan ayarlarında aranabilir değildir: DefaultRender = false'ı ayarlayarak metinli bir PDF projeksiyonu üzerinden render edilmelerini sağlayın.
  • Başlatmadan sonra objViewer.CanSearch(), false durumundadır: çözülen formatın arama yolu yoktur. Bu, Arama lisansından ayrı bir durumdur; ikisini de kontrol edin.
  • Sayfa, objViewer.Search(...)'ın dönüş değerini okur — sayı üçüncü argümanında, bir geri çağrıda gelir.

Hâlâ takıldı mı?

Problemi, Hızlı Başlangıç içindeki en düşük kurulumla yeniden oluşturun. Eğer orada yeniden oluşturulursa, belgeyle, kendi Global.asax.cs, Web.config'nin Doconut bölümleri ve varsa Windows olay günlüğü girdisiyle destek birimine başvurun.

Bu sayfa yardımcı oldu mu?