BILGILERI: .NET Framework'de XSLT dönüştürmeleri performans

Makale çevirileri Makale çevirileri
Makale numarası: 325689 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede nedenleri ve çözümleri veya XSLT yürütmek için .NET Framework XSLT işlemcisine kullandığınızda karşılaşabileceğiniz bilinen performans sorunları için geçici çözümler hakkında bilgi içeren dönüştürme.

XmlDataDocument ile XSLT dönüştürmeleri yavaş gerçekleştir

XSLT dönüşümü verilerde bir ADO.NET DataSet XML betimlemesi uygulanan genel uygulama zorunludur. Microsoft .NET Framework System.XML ad alanlarını temel sınıfları, ADO.NET, DataSet ile birlikte bu gereksinimin .NET uygulamalarında uygulamak için kullanılır.

XSLT yürütmek için kullanılan temel .NET Framework sınıf System.Xml.Xsl.XslTransform ise dönüştürme. System.XML.XmlDataDocumentSystem.Xml.XmlDocument ve System.Xml.XPath.XPathDocument yüklemek ve XSLT dönüşümü yürütüldüğünde verilerde bir ADO.NET DataSet XML betimlemesi XML kaynağı sağlamak için kullanılan üç temel .NET Framework sınıflarını var. Bu örneği, doğrudan bir DataSet nesnesi ile eşitlenebilir için en az kod bir XmlDataDocument nesnesi kullanarak bu üç seçenekten gerektirir. Sık bir ADO.NET DataSet XML betimlemesi XSLT dönüşümü uygulamak için bir XmlDataDocument nesne kullandığınızda, ancak performans karşılaşılan bir sorundur. Bu davranış, .NET RTM sürümü tasarım gereğidir Framework.

System.Xml.XPath.XPathDocument XPath ve XSLT'YI işlenmesi için en iyileştirilmiş bir sınıftır. XPathDocument nesnenin <a1>DataSet</a1> verileri XML betimlemesi yüklenemedi ve en yüksek performansı elde etmek için XSLT dönüşümü yürüttüğünüzde, XML kaynak olarak XPathDocument nesne sağlayın. Bu sorun hakkında ek bilgi ve açıklanan geçici çözümü gösteren bir kod örneği, Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
318580SORUN: XSL Dönüşümleri XmlDataDocument ile XPathDocument daha fazla yavaş gerçekleştir

Bir DataSet olmayan iç içe DataRelation Objects dönüştürme sırasında performansı yavaş

Yavaş performans DataTable nesneleri ve, DataRelation nesneleri seri hale getirilmiş XML ilişkilerde görünümünde sığdırabilecek kadar hiyerarşik bir yapı yansıtmak için içiçe değil, birden fazla olan bir DataSet XML betimlemesi dönüştürme çalıştığınızda ortak sorun ilgili ' dir.

Bu tür XML verilerini farklı bir hiyerarşik biçimine dönüştürmek çalıştığınızda (Bu verileri bir üst alt hiyerarşisinde görüntüler gibi bir HTML tablo), XPath kullanmalısınız Orta büyük birimlerde veri olduğunda, konum yolunu eksenleri aşağıdaki eş ve dönüştürme yavaşlatabilir, önceki eşdüzey gibi işlem.

Bu gibi durumlarda, Microsoft <a1>ııswebdirectory</a1> (diğer bir deyişle DataRelationNested özelli?inin true olarak ayarlanması), DataSetDataRelation nesnelerini içiçe ve hiyerarşik bir XPath sorgusu ifadeleri aşağı doğal üst bulmak ve verileri dönüştürmek için kullanan XSLT stil sayfası kod yazmak önerir.Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
325693SORUN: bir ADO.NET DataSet DataRelation olmayan iç içe olan dönüştürme, yavaş performans

100 CPU kullanımı yüzde veya bağlantıyı When You kullan XmlDocument Execute XSLT dönüştürmeleri bu kullan önceki-eş için

Önceki eşdüzey XPath konumu eksenleri kullanan XSLT dönüşümü için XML yüzde 100 CPU kullanımına neden olan kaynak sağlamak için XmlDocument nesne kullanarak, bilgisayarın yanıt vermemesine (askıda kalmasına) neden olur ve ayrıca sistem performansını yüksek açılan neden olur.

Bu davranış, orta ve büyük XML belgelerini veya akışları dönüştürdüğünüzde belirgindir. .NET Framework RTM sürümü için bilinen bir sorun şu anda budur. Microsoft .NET Framework'ün ana sonraki sürümdeki yüzde 100 CPU kullanımı engellemek için çalışmaktadır. XPath sorguları yürütmek ve XSLT dönüştürmeleri değil .NET Framework'ün gelecekteki sürümleri için bir tasarım hedefi XPathDocument performansını eşleştirmek için XmlDocument geliştirme.

XPath sorguları veya XSLT dönüştürmeleri bir XML verileri üzerinde uygulama yürütmelisiniz, XML yüklenemedi. NET'te XPathDocument sınıfı önerilen arabirimdir. Bu sorunla karşılaşırsanız, XSLT dönüştürme işlemi için XML kaynak sağlamak için XPathDocument nesneyi kullanmak, kodunuzun değiştirin.

Yavaş performans When You kullan xsl:key

Xsl:key XSLT öğesi, XML verileri gruplandırmak veya belirtilen bir öğe veya öznitelik değerleri, XML kaynağındaki benzersiz örneklerini tanımlamak için sık kullanılır. .NET uygulamalarında XML verilerini dönüştürmek için kullanılan xsl:key öğesini kullanan XSLT stil sayfaları, yavaş performans davranışlar gösterir. XSLT bilinen bir sorun nedeniyle bu .NET Framework RTM sürümü xsl:key öğesinde işlemci uygulamasıdır.

Bu sorunu gidermek için BIR düzeltme şu anda kullanılabilir. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
324478Yönetilen Parser ile XSLT performansı yavaşlatabilir.

Satır içi kod blokları için oluşturulan yönetilen derlemeler doğru yayımlandı değil

.NET Framework yönetilen derlemeler oluşturulan ve satır içi <msxsl:script> bulunan kod yürütmek için örtülü olarak yüklendi. engeller. .NET Framework RTM sürümü için bilinen BIR sorun düzgün yüklenmemiş arasında dönüştürme işlemi tamamlandığında bu derlemeleri engeller. Bu anomaly artırımlı bir artış, bellek kullanımı etkilenen biçem sayfası art arda XSLT dönüştürmeleri yürütmek isterseniz, sistem performansı için bir açılan kaynaklanan neden olabilir. Yalnızca ana bilgisayar işleminin geri olduğunda yayımlanmamış bellek serbest bırakılır. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
316775SORUN:, Oluşturma ve XSLT'DE komut dosyası kullanarak yükü derlemeler Kaldır (Bu bağlantı, bir kısmı veya tamamı ingilizce olan içeriğe işaret edebilir.
ASP.NET'te bu anomaly geçici bir çözüm için uygulamalar, yükleme sırasında kullanım ömrü boyunca uygulamayı yalnızca bir kez etkilenen stili Yapraklar ASP.NET önbelleğinde stil sayfaları önbelleğe ve daha sonra dönüştürmeleri için önbelleğe alınmış sürümlerini yeniden. Windows Forms ve Console Application projeleri, uygulamanın başlangıcında etkilenen stil sayfaları'nı yüklemek ve daha sonra dönüştürmeleri execute için genel çok nesne örnekleri'ni kullanabilirsiniz. XSLT dönüşümü, durum bilgisi olmayan bir ortamda yürütülmelidir, bu geçici çözüm yöntemleri uygulanabilir değildir (örneğin, orta katman Enterprise Services bileşenleri).

Microsoft bu anomaly yan etkileri önlemek ve özel XPath Uzantı işlevleri XSLT uzantısı nesneleri kullanmanızı önerir.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
313997BILGI: XSLT dönüştürmeleri .NET uygulamalarında'Executing için'yol haritası

Özellikler

Makale numarası: 325689 - Last Review: 23 Ocak 2004 Cuma - Gözden geçirme: 3.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft .NET Framework Class Libraries 1.0
  • Microsoft .NET Framework Class Libraries 1.1
Anahtar Kelimeler: 
kbmt kbinfo kbxml KB325689 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:325689
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

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