<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Background Worker Kontrol&#252; yazısına yapılan yorumlar</title>
	<atom:link href="http://www.durgut.com/background-worker-kontrolu/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.durgut.com/background-worker-kontrolu/</link>
	<description>Yazılım, C#, ASP.NET</description>
	<lastBuildDate>Thu, 05 Jan 2012 09:11:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>Yazar: Musa Doğramacı</title>
		<link>http://www.durgut.com/background-worker-kontrolu/comment-page-1/#comment-452</link>
		<dc:creator>Musa Doğramacı</dc:creator>
		<pubDate>Wed, 03 Feb 2010 12:42:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.durgut.com/index.php/background-worker-kontrolu/#comment-452</guid>
		<description>Konuyla ilgili bi paylaşımım vardı faydası olur diye paylaşıyorum

F.W 3.5&#039;ta bulunan BackgroundWorker sınıfı thread yönetimini kolaylaştırıyor. Genelde bununla ilgili örnekler verildiği zaman progress ile ilgili görüntüsünü göstermek için 1den 10a kadar döngüyü çalıştırıp örneklendiriyorlar. Gerçekte bize lazım olan reel ilerleme zamanıdır ya da reel durumdur. Bunu timer ile birlikte kullanınca reelliği yakalayabiliyoruz. Bununla ilgili çok basit kavraya bileceğimiz bir örneğimiz olacak. 

 
Mesela Mernis Sorgusunu ele alalım. Mernis sorgusu bitenekadar 
lblDurum label&#039;i(Progressbar yerine label kullandım) üzeinde noktalar ilerleyecektir.

Sorgu sonuçlanınca da ilerleme duracaktır.
 
Gerekli Using&#039;ler
using System;

using System.ComponentMod el;

using System.Windows;

using WpfApplication1. MernisService;

//Mernis Sorgusu için webservisini eklemek gerekiyor projeye 
//bendeki webservisin adı MernisService&#039; dir.
 
#region Mernis
private BackgroundWorker _bgWorkerMernis;
private System.Timers.Timer _timer;
private void GetMernis()
{
_bgWorkerMernis = new BackgroundWorker();
_bgWorkerMernis. WorkerReportsPro gress = true;
_bgWorkerMernis. WorkerSupportsCa ncellation = true;
_bgWorkerMernis. DoWork += _bgWorkerMernis_ DoWork;
_bgWorkerMernis. RunWorkerComplet ed += _bgWorkerMernis_ RunWorkerCompleted;
_bgWorkerMernis. ProgressChanged += _bgWorkerMernis_ ProgressChanged;
lblDurum.Content = &quot;Mernis Sorgusu Yaplyor &quot;;
_bgWorkerMernis. RunWorkerAsync( 11111111111) ;//TcKimlikNo
}
void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (_bgWorkerMernis. IsBusy)
{
_bgWorkerMernis. ReportProgress( 0);
}
}
void _bgWorkerMernis_ DoWork(object sender, DoWorkEventArgs e)
{
_timer = new System.Timers.Timer(10);
_timer.Enabled = true;
_timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed) ;
_timer.Start( );

MernisService.ServiceSoapClient service = new ServiceSoapClient();
e.Result = service.TCKimlikNoS orgula(0, &quot;sifre&quot;, Convert.ToInt64(e.Argument ));//argument Tc Kimlik No tutuyor
}
void _bgWorkerMernis_ ProgressChanged(object sender, ProgressChangedEven tArgs e)
{
lblDurum.Content += &quot;.&quot;;
}
void _bgWorkerMernis_ RunWorkerComplet ed(object sender, RunWorkerCompletedE ventArgs e)
{
_timer.Stop( );
string ad = ((MernisService.TCKimlikNoKisiBilgi) e.Result).Ad;
//...diğer bilgileri ilgili alanlara set etmek gerekiyor.
}
#endregion</description>
		<content:encoded><![CDATA[<p>Konuyla ilgili bi paylaşımım vardı faydası olur diye paylaşıyorum</p>
<p>F.W 3.5&#8242;ta bulunan BackgroundWorker sınıfı thread yönetimini kolaylaştırıyor. Genelde bununla ilgili örnekler verildiği zaman progress ile ilgili görüntüsünü göstermek için 1den 10a kadar döngüyü çalıştırıp örneklendiriyorlar. Gerçekte bize lazım olan reel ilerleme zamanıdır ya da reel durumdur. Bunu timer ile birlikte kullanınca reelliği yakalayabiliyoruz. Bununla ilgili çok basit kavraya bileceğimiz bir örneğimiz olacak. </p>
<p>Mesela Mernis Sorgusunu ele alalım. Mernis sorgusu bitenekadar<br />
lblDurum label&#8217;i(Progressbar yerine label kullandım) üzeinde noktalar ilerleyecektir.</p>
<p>Sorgu sonuçlanınca da ilerleme duracaktır.</p>
<p>Gerekli Using&#8217;ler<br />
using System;</p>
<p>using System.ComponentMod el;</p>
<p>using System.Windows;</p>
<p>using WpfApplication1. MernisService;</p>
<p>//Mernis Sorgusu için webservisini eklemek gerekiyor projeye<br />
//bendeki webservisin adı MernisService&#8217; dir.</p>
<p>#region Mernis<br />
private BackgroundWorker _bgWorkerMernis;<br />
private System.Timers.Timer _timer;<br />
private void GetMernis()<br />
{<br />
_bgWorkerMernis = new BackgroundWorker();<br />
_bgWorkerMernis. WorkerReportsPro gress = true;<br />
_bgWorkerMernis. WorkerSupportsCa ncellation = true;<br />
_bgWorkerMernis. DoWork += _bgWorkerMernis_ DoWork;<br />
_bgWorkerMernis. RunWorkerComplet ed += _bgWorkerMernis_ RunWorkerCompleted;<br />
_bgWorkerMernis. ProgressChanged += _bgWorkerMernis_ ProgressChanged;<br />
lblDurum.Content = &#8220;Mernis Sorgusu Yaplyor &#8220;;<br />
_bgWorkerMernis. RunWorkerAsync( 11111111111) ;//TcKimlikNo<br />
}<br />
void _timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)<br />
{<br />
if (_bgWorkerMernis. IsBusy)<br />
{<br />
_bgWorkerMernis. ReportProgress( 0);<br />
}<br />
}<br />
void _bgWorkerMernis_ DoWork(object sender, DoWorkEventArgs e)<br />
{<br />
_timer = new System.Timers.Timer(10);<br />
_timer.Enabled = true;<br />
_timer.Elapsed += new System.Timers.ElapsedEventHandler(_timer_Elapsed) ;<br />
_timer.Start( );</p>
<p>MernisService.ServiceSoapClient service = new ServiceSoapClient();<br />
e.Result = service.TCKimlikNoS orgula(0, &#8220;sifre&#8221;, Convert.ToInt64(e.Argument ));//argument Tc Kimlik No tutuyor<br />
}<br />
void _bgWorkerMernis_ ProgressChanged(object sender, ProgressChangedEven tArgs e)<br />
{<br />
lblDurum.Content += &#8220;.&#8221;;<br />
}<br />
void _bgWorkerMernis_ RunWorkerComplet ed(object sender, RunWorkerCompletedE ventArgs e)<br />
{<br />
_timer.Stop( );<br />
string ad = ((MernisService.TCKimlikNoKisiBilgi) e.Result).Ad;<br />
//&#8230;diğer bilgileri ilgili alanlara set etmek gerekiyor.<br />
}<br />
#endregion</p>
]]></content:encoded>
	</item>
	<item>
		<title>Yazar: Ceyhun KEKLİK</title>
		<link>http://www.durgut.com/background-worker-kontrolu/comment-page-1/#comment-311</link>
		<dc:creator>Ceyhun KEKLİK</dc:creator>
		<pubDate>Thu, 07 Jan 2010 13:18:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.durgut.com/index.php/background-worker-kontrolu/#comment-311</guid>
		<description>Bir sorum olacak yanıtlarsanız çok sevinirim. Anlattıklarınızı yeni yeni öğrenmeey başlamıştm sayenizde iyice kavradım ancak önemli bir durum daha var ve işin içinden çıkamadım.Sorum Şu;
---------------------------------------------------------
My.Computer.Network.UploadFile(TextBox1.Text, &quot;Ftp://xxx:xxx@ftp.ceyhunkeklik.com/httpdocs/ftpdeneme/&quot; &amp; filename.ToString)
---------------------------------------------------------

bu kodla büyük bir dosya upload ederken o anda ben;
---------------------------------------------------------
Dim request As FtpWebRequest = FtpWebRequest.Create(&quot;ftp://xxx:xxx@ftp.ceyhunkeklik.com/httpdocs/ftpdeneme/&quot; &amp; filename.ToString)
        request.Method = WebRequestMethods.Ftp.GetFileSize
        Dim datalenght
        datalenght = request.GetResponse.ContentLength
        ProgressBar1.Value = datalenght

---------------------------------------------------------
bunu yapmak istiyorum. Ancak aynı anda çalışmıyorlar bunu nasıl başarabilirim...</description>
		<content:encoded><![CDATA[<p>Bir sorum olacak yanıtlarsanız çok sevinirim. Anlattıklarınızı yeni yeni öğrenmeey başlamıştm sayenizde iyice kavradım ancak önemli bir durum daha var ve işin içinden çıkamadım.Sorum Şu;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
My.Computer.Network.UploadFile(TextBox1.Text, &#8220;Ftp://xxx:xxx@ftp.ceyhunkeklik.com/httpdocs/ftpdeneme/&#8221; &amp; filename.ToString)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>bu kodla büyük bir dosya upload ederken o anda ben;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Dim request As FtpWebRequest = FtpWebRequest.Create(&#8220;ftp://xxx:xxx@ftp.ceyhunkeklik.com/httpdocs/ftpdeneme/&#8221; &amp; filename.ToString)<br />
        request.Method = WebRequestMethods.Ftp.GetFileSize<br />
        Dim datalenght<br />
        datalenght = request.GetResponse.ContentLength<br />
        ProgressBar1.Value = datalenght</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
bunu yapmak istiyorum. Ancak aynı anda çalışmıyorlar bunu nasıl başarabilirim&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Yazar: Aykut</title>
		<link>http://www.durgut.com/background-worker-kontrolu/comment-page-1/#comment-95</link>
		<dc:creator>Aykut</dc:creator>
		<pubDate>Wed, 16 Sep 2009 17:57:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.durgut.com/index.php/background-worker-kontrolu/#comment-95</guid>
		<description>Thread&#039;leri ogrenmeye baslamistim ki bu control cikti karsima. Sizin videonuz sayesinde kullanimini kavradim. Tesekkurler.</description>
		<content:encoded><![CDATA[<p>Thread&#8217;leri ogrenmeye baslamistim ki bu control cikti karsima. Sizin videonuz sayesinde kullanimini kavradim. Tesekkurler.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

