DoconutOptions
Doconut hizmetlerini yapılandırın
DoconutOptions (namespace Doconut) bütün SDK için tek yapılandırma nesnesidir. Bunu bir kez, Application_Start içinde DoconutHost.Initialize'a geçirdiğiniz geri çağrıda yapılandırırsınız.
Doconut.DoconutHost.Initialize(options =>
{
options.LicensePath = HostingEnvironment.MapPath("~/wwwroot/Doconut.Viewer.lic");
options.UnsafeMode = false;
options.ShowDoconutInfo = false;
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});Özellikler
| Tür | Özellik | Varsayılan | Açıklama |
|---|---|---|---|
bool | UnsafeMode | false | false olduğunda, DocImage.axd yalnızca belgeyi açan ASP.NET oturumuna (veya bir farm içinde, imzalı bir bilet adı taşıyan tarayıcıya) bir sayfa sunar. true olduğunda, token taşıyan herhangi bir istek sunulur. Bunu false bırakın — bkz. Oturumlar ve Güvenlik. |
bool | ShowDoconutInfo | false | true olduğunda, token içermeyen bir DocImage.axd isteği 404 yerine Doconut <version> is running on <host> yanıtını verir. Bir sağlık kontrolü olarak faydalıdır; üretimde false bırakın. |
string | ResourcesPath | "/doconut-res" | Kaynak modülünün gömülü script, stil ve görüntüleri hizmet verdiği URL öneki. |
string | LicensePath | "" | Lisans dosyasının tam yolu. Boş → bir sonraki lisans kaynağı, ardından otomatik keşif; hiçbir şey bulunamazsa → yetenekleri olmayan su işareti ekli değerlendirme. |
string | LicenseContent | "" | Ham lisans içeriği (veritabanı, ortam değişkeni, gizli depo). LicensePath'e göre önceliklidir. |
Stream? | LicenseStream | null | Lisans bir akış olarak, başlangıçta bir kez okunur. Diğer iki kaynağa göre önceliklidir. |
string | MiddlewarePath | "/doconut" | System.Web tarafından kullanılmaz. Sayfa uç noktası her zaman Web.config içinde bildirilen DocImage.axd işleyicisidir. Değer yine de başlangıçta doğrulanır (aşağıya bakın). |
bool | ResetLicense | false | Kullanılmaz. Lisans bir kez, DoconutHost.Initialize içinde okunur; bir lisans değiştirildikten sonra uygulama havuzunu yeniden başlatın. |
DoconutPluginRegistry | PluginRegistry | — | AddPlugin<T>() ile doldurulan, eklenti katkılarının yalnızca okunabilir kaydı. |
Lisans önceliği: LicenseStream → LicenseContent → LicensePath → otomatik keşif (bkz. Lisans Kurulumu).
Yöntemler
AddPlugin<TPlugin>()
DoconutOptions AddPlugin<TPlugin>() where TPlugin : IDoconutPlugin, new()Bir eklentiyi (Dönüştürücü, DICOM) kaydeder. Akıcı — seçenek örneğini döndürür. Annotation ve Search yerleşik lisanslı özelliklerdir ve bunu kullanmaz.
Eğer aktif bir lisans eklentinin yeteneğini sağlamıyorsa, DoconutHost.Initialize Application_Start içinde InvalidOperationException fırlatır ve site, bu düzeltilene kadar her isteğe boş bir 500 yanıt verir; mesaj Windows olay günlüğündedir (bkz. Eklenti Sistemi).
Add…Widget()
DoconutOptions AddConverterWidget(Action<ConverterWidgetOptions>? configure = null)Yerleştirilebilir widget'lar varsayılan olarak kapalıdır. Her Add…Widget() çağrısı, o widget'ın DocImage.axd üzerindeki uç noktalarını açar ve eşleşen eklentinin kaydedilmiş olmasını gerektirir. Kaynak modülü, widget'ı etkinleştirip etkinleştirmemenize bakılmaksızın script'ini sunar; bu yüzden ilk eyleminde 404 yanıtı veren, yüklenen ve çizen bir widget bu çağrının eksik olduğunu gösterir. Converter widget'ı Dönüştürücü Eklentisi içinde belgelenmiştir.
RegisterViewer(extension, factory, defaultConfig?)
DoconutOptions RegisterViewer(
string extension, // ".myext" — leading dot optional
Func<IFormatViewer> factory,
Func<BaseConfig>? defaultConfig = null)Bir dosya uzantısı için özel görüntüleyici kaydeder. Özel görüntüleyiciler, yerleşik ve eklenti görüntüleyicilere göre önceliklidir ve lisans kısıtlaması yoktur. defaultConfig atlandığında ve bir belge açık bir yapılandırma olmadan açıldığında, bir ImageConfig kullanılır.
Boş bir uzantı için ArgumentException (Extension must be a non-empty file extension.) ve null bir fabrika için ArgumentNullException fırlatır.
Başlangıç doğrulaması
DoconutHost.Initialize, herhangi bir şey inşa etmeden önce seçenekleri doğrular:
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.MiddlewarePath, System.Web hiç kullanmasa da kontrol edilir, bu yüzden varsayılanında bırakın. Application_Start içinde fırlatılan her istisna gibi, bir doğrulama hatası her istekte boş bir 500 olarak görünür ve mesaj Windows olay günlüğündedir.
Yaygın yapılandırmalar
// Production: explicit license, everything else at its secure default.
public static void ProductionLicense() =>
Doconut.DoconutHost.Initialize(options =>
{
options.LicenseContent = Environment.GetEnvironmentVariable("DOCONUT_LICENSE") ?? "";
});
// Custom resource path (e.g. to avoid a route conflict). Keep the viewer's ResPath and any MVC
// IgnoreRoute in step with it: "/docs-assets" means ResPath: 'docs-assets/images'.
public static void CustomResourcePath() =>
Doconut.DoconutHost.Initialize(options =>
{
options.ResourcesPath = "/docs-assets";
});ResourcesPath'i değiştirdiğinizde, üç şeyi birlikte değiştirin: seçeneği, widget'ın ResPath'ini ("/docs-assets" için 'docs-assets/images'), ve MVC'de kaynak yolu için IgnoreRoute'u (routes.IgnoreRoute("docs-assets/{*pathInfo}")). DocImage.axd uç noktası hareket etmez: yolu Web.config içindeki işleyicinin path özniteliği tarafından belirlenir.
Bu sayfa yardımcı oldu mu?