Šobrīd esat bezsaistē, tiek gaidīts atkārtots savienojums ar internetu

Labojums: Atmiņas noplūde notiek WPF pieteikumu kad suka objekts ir atsauce, izmantojot DynamicResource

SVARĪGI! Šis raksts ir tulkots, izmantojot Microsoft mašīntulkošanas programmatūru, un šo rakstu nav tulkojis cilvēks. Microsoft piedāvā gan rakstus, ko tulkojuši cilvēki, gan mašīntulkotus rakstus, tāpēc jebkuram zināšanu bāzes rakstam varat piekļūt savā dzimtajā valodā. Tomēr mašīntulkotu rakstu kvalitāte ne vienmēr ir teicama. Šādos rakstos var būt leksikas, sintakses vai gramatikas kļūdas, kas līdzinās kļūdām, kādas pieļauj ārzemnieks, runājot jūsu valodā. Microsoft neuzņemas atbildību par jebkādām neprecizitātēm, kļūdām vai bojājumiem, ko izraisījis kļūdains satura tulkojums vai kas radušās tulkojuma lietojuma gaitā. Turklāt Microsoft regulāri atjaunina mašīntulkošanas programmatūru.

Noklikšķiniet šeit, lai skatītu šī raksta versiju angļu valodā: 2651992
SIMPTOMI
Iedomājieties šādu situāciju:
  • Veidojot Microsoft Windows Presentation Foundation (WPF) programma, kas vērsta uz Microsoft.NET Framework 3.0 vai Microsoft.NET Framework 3.5.
  • Pieteikuma nosaka otas objektu un krāsu objektu pieteikumu XAML failu.
    • Suka objekts aizņem DynamicResource lai norādītu objekta krāsu. Tā, piemēram,
      <Application.Resources><Color x:Key="color1">#ff4050ff</Color><SolidColorBrush x:Key="brush1" Color="{DynamicResource color1}"/></Application.Resources>
    • Suka objektu norāda, kā DynamicResource WPF logā vai lietotāja kontrole vai citam objektam. Tā, piemēram,
      <Window x:Class="WpfApplication6.Window1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="Window1" Height="300" Width="300" Background="{DynamicResource brush1}"></Window>
  • Atvērt vai aizvērt logu vai lietotāja kontrole gadījumus.

Šādā gadījumā gadījumus sakņojas (GC) savākto atkritumu kaudzes un nav atbrīvots. Laika gaitā atmiņas noplūdes rodas arvien vairāk gadījumus logu vai lietotāja kontrole tiek izveidotas. Galu galā, jūs saņemat System.OutOfMemoryException izņēmums.

Piezīme Šo jautājumu nerodas, ja pieteikuma mērķi Microsoft.NET Framework 4.

IEMESLS
Šī problēma rodas, jo WPF izpildlaika vadi uz iekšējo notikumu apdarinātājs ResourceReferenceExpressionobjekts, kas saistīts ar logu vai lietotāja kontrole izmantojot resursa. Šo notikumu apdarinātāja atsauces netiek noņemts, kad logu vai lietotāja kontrole ir slēgtas un, lai vērtību null.
RISINĀJUMS

Informācija par labojumfailu

Tagad ir pieejama no Microsoft piedāvā atbalstītu labojumfailu. Tomēr tas ir paredzēts tikai šajā rakstā aprakstītās problēmas novēršanai. To piemēro tikai tām sistēmām, kurām ir radusies tieši šī problēma.

Lai atrisinātu šo problēmu, sazinieties ar Microsoft klientu atbalsta pakalpojumu sniedzēju un iegūstiet labojumfailu. Lai iegūtu pilnu sarakstu ar Microsoft klientu atbalsta pakalpojumu sniedzēju tālruņu numuru un informāciju par atbalsta izmaksām, apmeklējiet šādu Microsoft vietni:Piezīme Īpašos gadījumos izmaksas, ko parasti veido atbalsta zvani, nav jāsedz, ja Microsoft atbalsta speciālists noteicis, ka šo problēmu novērsīs noteikts atjauninājums. Parasti atbalsta izmaksas tiek piemērotas jautājumiem par papildu atbalstu un problēmām, kas neskar specifisko atjauninājumu apspriešanu.

Priekšnoteikumi

Lai lietotu šo labojumfailu, datorā jābūt instalētai Microsoft.NET Framework 3.5.1, kas instalēta datorā, kurā darbojas kāda no šīm operētājsistēmām:
  • Windows 7 Service Pack 1 (SP1)
  • Windows Server 2008 R2 1. servisa pakotne (SP1)


Restartējiet prasība

Pēc šī labojumfaila vai ietekmētie faili tiek lietotas, dators ir jārestartē.

Informāciju par failu

Pasaules šī labojumfaila versijai ir faila atribūti (vai jaunāki faila atribūti) Šajā tabulā. Šo failu datumi un laiki ir norādīti atbilstoši koordinētajam pasaules laikam (UTC). Skatot faila informāciju, tā tiek pārvērsta uz vietējo laiku. Lai noskaidrotu atšķirību starp UTC un vietējo laiku, izmantojiet Laika josla cilni Datuma un laika no vadības paneļa vienumiem.

Fvai visas atbalstītās Windows versijām, kuru pamatā ir 86 7
Faila nosaukumsFaila versijaFaila lielumsDatumsLaiksPlatforma
Presentationframework.dll3.0.6920.57385,283,84016-Dec-201101: 49x86
Windowsbase.dll3.0.6920.57381,253,37616-Dec-201101: 49x86
Presentationcore.dll3.0.6920.57384,218,88016-Dec-201101: 49x86
Presentationframework.dll3.0.6920.57385,283,84016-Dec-201101: 49x86
Presentationhostdll.dll3.0.6920.5738131,36016-Dec-201101: 49x86
Presentationhost.exe4.0.40305.0296,22416-Dec-201101: 49x86
Presentationhostproxy.dll4.0.31106.0100,13616-Dec-201101: 49x86
Windowsbase.dll3.0.6920.57381,253,37616-Dec-201101: 49x86

Fvai visi atbalstīts x64 bitu versijas Windows 7 un Windows Server 2008 R2
Faila nosaukumsFaila versijaFaila lielumsDatumsLaiksPlatforma
Presentationcore.dll3.0.6920.57383,998,72016-Dec-201101: 42x64
Presentationframework.dll3.0.6920.57384,640,76816-Dec-201101: 42x86
Presentationhostdll.dll3.0.6920.5738172,32016-Dec-201101: 42x64
Presentationhost.exe4.0.31106.0321,31216-Dec-201101: 42x64
Presentationhostproxy.dll4.0.31106.0110,88816-Dec-201101: 42x64
Windowsbase.dll3.0.6920.57381,114,11216-Dec-201101: 42x86
Presentationframework.dll3.0.6920.57385,283,84016-Dec-201101: 49x86
Windowsbase.dll3.0.6920.57381,253,37616-Dec-201101: 49x86
Presentationcore.dll3.0.6920.57384,218,88016-Dec-201101: 49x86
Presentationframework.dll3.0.6920.57385,283,84016-Dec-201101: 49x86
Presentationhostdll.dll3.0.6920.5738131,36016-Dec-201101: 49x86
Presentationhost.exe4.0.40305.0296,22416-Dec-201101: 49x86
Presentationhostproxy.dll4.0.31106.0100,13616-Dec-201101: 49x86
Windowsbase.dll3.0.6920.57381,253,37616-Dec-201101: 49x86



PROFILAKSE
Lai apietu šo problēmu, izmantojiet kādu no šīm metodēm:
  • LietošanasStaticResource objekta krāsu suka objektā atsauces. Tā, piemēram, mainīt sadaļā "Simptomi" šajā lietā XAML kodu pirmā daļa:
    <Color x:Key="color1">#ff4050ff</Color> <SolidColorBrush x:Key="brush1" Color="{StaticResource color1}"></SolidColorBrush>
  • Iestatītx: kopīgi opcija nav patiess, ja DynamicResource tiek izmantots. Tā, piemēram, mainīt sadaļā "Simptomi" šajā lietā XAML kodu pirmā daļa:
    <Application.Resources>        <Color x:Key="color1">#ff4050ff</Color>        <SolidColorBrush x:Key="brush1" x:Shared="False" Color="{DynamicResource color1}" />    </Application.Resources>



UZZIŅAS
Lai iegūtu papildinformāciju par DynamicResource iezīmēšanas paplašinājums, apmeklējiet šo MSDN tīmekļa vietnē:
Lai iegūtu papildinformāciju par WPF sukas, apmeklējiet MSDN tīmekļa vietnē:
STATUSS
Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas minēti sadaļā "Attiecas uz".

Brīdinājums: šis raksts ir tulkots automātiski

Rekvizīti

Raksta ID: 2651992. Pēdējo reizi pārskatīts: 01/10/2012 01:50:00. Pārskatījums: 1.0

Microsoft .NET Framework 3.0, Microsoft .NET Framework 3.0 Service Pack 1, Microsoft .NET Framework 3.0 Service Pack 2, Microsoft .NET Framework 3.5, Microsoft .NET Framework 3.5 Service Pack 1

  • kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2651992 KbMtlv
Atsauksmes