<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:georss="http://www.georss.org/georss" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Levent YILDIZ - Software</title>
    <link>http://www.leventyildiz.net/</link>
    <description>coding @ the speed of thought</description>
    <language>en-us</language>
    <copyright>Levent YILDIZ</copyright>
    <lastBuildDate>Thu, 12 Mar 2009 16:46:52 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>levent.yildiz@lgytech.com</managingEditor>
    <webMaster>levent.yildiz@lgytech.com</webMaster>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=177aea5b-c0a6-4123-9fd8-fa7623545659</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,177aea5b-c0a6-4123-9fd8-fa7623545659.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,177aea5b-c0a6-4123-9fd8-fa7623545659.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=177aea5b-c0a6-4123-9fd8-fa7623545659</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Assume you have a base class and another class derived from it. You have events defined
in base class so you wish to use them in the derived class.<br /><br /><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> a<br />
    {<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">delegate</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> Amanindelegate();<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">event</span> Amanindelegate
Amanin;<br />
    }<br /><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> b:a<br />
    {<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> hey0()<br />
        {<br />
            <font color="#ff0000">Amanin();<br /></font>        }<br />
    }<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Program<br />
    {<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> Main(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>[]
args)<br />
        {<br />
            b b1=<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> b();<br />
            b1.Amanin+=<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> a.Amanindelegate(b1_Amanin);<br />
            b1.hey0();<br />
        }<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> b1_Amanin()<br />
        {<br />
            Console.WriteLine(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"aboovv"</span>);<br />
        }<br />
    }<br /></span></p>
        <p>
Here you have the mentioned error in hey0 method line Amanin();<br />
The best practice is as follows.<br /><br /></p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> a
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">delegate</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> Amanindelegate(); <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">virtual</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">event</span> Amanindelegate
Amanin; } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> b:a
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">override</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">event</span> a.Amanindelegate
Amanin; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> hey0()
{ Amanin(); } } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Program
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> Main(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>[]
args) { b b1=<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> b();
b1.Amanin+=<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> a.Amanindelegate(b1_Amanin);
b1.hey0(); } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> b1_Amanin()
{ Console.WriteLine(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"aboovv"</span>);
} } </span>
        </pre>
        <p>
 
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=177aea5b-c0a6-4123-9fd8-fa7623545659" />
      </body>
      <title>The event 'X' can only appear on the left hand side of += or -= (except when used from within the type 'X')</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,177aea5b-c0a6-4123-9fd8-fa7623545659.aspx</guid>
      <link>http://www.leventyildiz.net/2009/03/12/TheEventXCanOnlyAppearOnTheLeftHandSideOfOrExceptWhenUsedFromWithinTheTypeX.aspx</link>
      <pubDate>Thu, 12 Mar 2009 16:46:52 GMT</pubDate>
      <description>&lt;p&gt;
Assume you have a base class and another class derived from it. You have events defined
in base class so you wish to use them in the derived class.&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; a&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;delegate&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; Amanindelegate();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;event&lt;/span&gt; Amanindelegate
Amanin;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; b:a&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; hey0()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color=#ff0000&gt;Amanin();&lt;br&gt;
&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Program&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; Main(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;[]
args)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b b1=&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; b();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b1.Amanin+=&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; a.Amanindelegate(b1_Amanin);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b1.hey0();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; b1_Amanin()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"aboovv"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Here you have the mentioned error in hey0 method line Amanin();&lt;br&gt;
The best practice is as follows.&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; a
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;delegate&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; Amanindelegate(); &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;virtual&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;event&lt;/span&gt; Amanindelegate
Amanin; } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; b:a
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;override&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;event&lt;/span&gt; a.Amanindelegate
Amanin; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; hey0()
{ Amanin(); } } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Program
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; Main(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;[]
args) { b b1=&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; b();
b1.Amanin+=&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; a.Amanindelegate(b1_Amanin);
b1.hey0(); } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; b1_Amanin()
{ Console.WriteLine(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"aboovv"&lt;/span&gt;);
} } &lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=177aea5b-c0a6-4123-9fd8-fa7623545659" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,177aea5b-c0a6-4123-9fd8-fa7623545659.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
If you are having troubles with installing/registering ReportViewer dll's either using
gacutil.exe or setup file, you can download the Microsoft Report Viewer Redistributable
2008 package from the following link.<br /><br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&amp;displaylang=en</a></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec" />
      </body>
      <title>Could not load file or assembly 'Microsoft.ReportViewer.WebForms</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec.aspx</guid>
      <link>http://www.leventyildiz.net/2009/02/03/CouldNotLoadFileOrAssemblyMicrosoftReportViewerWebForms.aspx</link>
      <pubDate>Tue, 03 Feb 2009 16:10:39 GMT</pubDate>
      <description>&lt;p&gt;
If you are having troubles with installing/registering ReportViewer dll's either using
gacutil.exe or setup file, you can download the Microsoft Report Viewer Redistributable
2008 package from the following link.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=CC96C246-61E5-4D9E-BB5F-416D75A1B9EF&amp;amp;displaylang=en&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,2ef4db20-f7c8-41aa-ae29-62b9a18ad7ec.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=b9902080-5f07-4259-b9b6-5733b73560f9</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,b9902080-5f07-4259-b9b6-5733b73560f9.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,b9902080-5f07-4259-b9b6-5733b73560f9.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b9902080-5f07-4259-b9b6-5733b73560f9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Having problem with mdichild form size
on form load?<br />
try setting the AutoScaleMode to Inherit on mdi child form.<br /><p></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b9902080-5f07-4259-b9b6-5733b73560f9" /></body>
      <title>MDI Child form resize problem.</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,b9902080-5f07-4259-b9b6-5733b73560f9.aspx</guid>
      <link>http://www.leventyildiz.net/2009/01/01/MDIChildFormResizeProblem.aspx</link>
      <pubDate>Thu, 01 Jan 2009 21:51:23 GMT</pubDate>
      <description>Having problem with mdichild form size on form load?&lt;br&gt;
try setting the AutoScaleMode to Inherit on mdi child form.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b9902080-5f07-4259-b9b6-5733b73560f9" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,b9902080-5f07-4259-b9b6-5733b73560f9.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=e6874c12-3acf-40e0-a914-e715cac260f3</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,e6874c12-3acf-40e0-a914-e715cac260f3.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,e6874c12-3acf-40e0-a914-e715cac260f3.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e6874c12-3acf-40e0-a914-e715cac260f3</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <img src="http://www.leventyildiz.net/content/binary/images%20(1).jpg" border="0" />
          <br />
A Forecast...<br /><br />
Whenever SaaS and Soa completes their evolution, a new era will rise;<br /><strong>Internet Software Studio<br /></strong>A platform where developers will no longer need a software development studio,<br />
A platform where development &amp; compilation can be done online, where intermediate
software users will able to develop their own software without digging into huge documentations...<br /><br />
Some day...
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=e6874c12-3acf-40e0-a914-e715cac260f3" />
      </body>
      <title>Internet Software Studio</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,e6874c12-3acf-40e0-a914-e715cac260f3.aspx</guid>
      <link>http://www.leventyildiz.net/2008/10/27/InternetSoftwareStudio.aspx</link>
      <pubDate>Mon, 27 Oct 2008 18:27:02 GMT</pubDate>
      <description>&lt;p&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/images%20(1).jpg" border=0&gt;
&lt;br&gt;
A Forecast...&lt;br&gt;
&lt;br&gt;
Whenever&amp;nbsp;SaaS and Soa completes their evolution, a new era will rise;&lt;br&gt;
&lt;strong&gt;Internet Software Studio&lt;br&gt;
&lt;/strong&gt;A platform where developers will no longer need a software development studio,&lt;br&gt;
A platform where development &amp;amp; compilation&amp;nbsp;can be done online, where intermediate
software users will able to develop their own software without digging into huge documentations...&lt;br&gt;
&lt;br&gt;
Some day...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=e6874c12-3acf-40e0-a914-e715cac260f3" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,e6874c12-3acf-40e0-a914-e715cac260f3.aspx</comments>
      <category>Internet</category>
      <category>Server Systems</category>
      <category>Software</category>
      <category>Virtualization</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=06b95b0e-d90c-4406-89ef-a200d295a941</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,06b95b0e-d90c-4406-89ef-a200d295a941.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,06b95b0e-d90c-4406-89ef-a200d295a941.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=06b95b0e-d90c-4406-89ef-a200d295a941</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">As i was just about to code a logging system
for a project, i remembered a couple of fine methods which SqlConnection class has.<br />
RetrieveStatistics();<br /><br />
It works with first enabling the stats mode, resetting the stats and when the command
is executed, finally retrive the stats.<br /><pre><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">string</span> strConnectionString <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">@"Data
Source=.\SQLEXPRESS;Initial Catalog=FooDB;Integrated Security=True"</span>; <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">using</span> (SqlConnection
conSQL <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> SqlConnection(strConnectionString))
{ <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">using</span> (SqlCommand
cmdSQL <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> SqlCommand(<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"select
* from Foo"</span>, conSQL)) { cmdSQL.CommandType <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span> CommandType.Text; <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">try</span> {
conSQL.Open(); conSQL.StatisticsEnabled <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">true</span>;
conSQL.ResetStatistics(); SqlDataReader drdActiveConfiguration <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span> cmdSQL.ExecuteReader();
IDictionary idcStat= conSQL.RetrieveStatistics(); <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">foreach</span> (DictionaryEntry
dceItem <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">in</span> idcStat)
{ Console.WriteLine(<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"Key:
{0}, Value: {1}"</span>, dceItem.Key.ToString(), dceItem.Value.ToString()); } DataSet
dsActiveConfiguration <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> DataSet();
dsActiveConfiguration.Load(drdActiveConfiguration, LoadOption.OverwriteChanges, <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">string</span>[]
{ <span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"Foo1"</span> });
dsActiveConfiguration.Clear(); conSQL.Close(); } <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">catch</span> (Exception
excp) { } } }</span></pre>By using this method, you get a quite information about
the execution process...<br /><br /><font color="#006400">Key: NetworkServerTime, Value: 375<br />
Key: BytesReceived, Value: 224<br />
Key: UnpreparedExecs, Value: 1<br />
Key: SumResultSets, Value: 0<br />
Key: SelectCount, Value: 0<br />
Key: PreparedExecs, Value: 0<br />
Key: ConnectionTime, Value: 390<br />
Key: ExecutionTime, Value: 390<br />
Key: Prepares, Value: 0<br />
Key: BuffersSent, Value: 1<br />
Key: SelectRows, Value: 0<br />
Key: ServerRoundtrips, Value: 1<br />
Key: CursorOpens, Value: 0<br />
Key: Transactions, Value: 0<br />
Key: BytesSent, Value: 388<br />
Key: BuffersReceived, Value: 1<br />
Key: IduRows, Value: 0<br />
Key: IduCount, Value: 0<br />
Press any key to continue . . .</font><br /><br />
which is very handy :)<br /><br /><p></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=06b95b0e-d90c-4406-89ef-a200d295a941" /></body>
      <title>How long did my Query took to execute and what are the statistics?</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,06b95b0e-d90c-4406-89ef-a200d295a941.aspx</guid>
      <link>http://www.leventyildiz.net/2008/08/14/HowLongDidMyQueryTookToExecuteAndWhatAreTheStatistics.aspx</link>
      <pubDate>Thu, 14 Aug 2008 18:39:59 GMT</pubDate>
      <description>As i was just about to code a logging system for a project, i remembered a couple of fine methods which SqlConnection class has.&lt;br&gt;
RetrieveStatistics();&lt;br&gt;
&lt;br&gt;
It works with first enabling the stats mode, resetting the stats and when the command
is executed, finally retrive the stats.&lt;br&gt;
&lt;pre&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;string&lt;/span&gt; strConnectionString &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;@"Data
Source=.\SQLEXPRESS;Initial Catalog=FooDB;Integrated Security=True"&lt;/span&gt;; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;using&lt;/span&gt; (SqlConnection
conSQL &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; SqlConnection(strConnectionString))
{ &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;using&lt;/span&gt; (SqlCommand
cmdSQL &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; SqlCommand(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"select
* from Foo"&lt;/span&gt;, conSQL)) { cmdSQL.CommandType &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; CommandType.Text; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;try&lt;/span&gt; {
conSQL.Open(); conSQL.StatisticsEnabled &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;true&lt;/span&gt;;
conSQL.ResetStatistics(); SqlDataReader drdActiveConfiguration &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; cmdSQL.ExecuteReader();
IDictionary idcStat= conSQL.RetrieveStatistics(); &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;foreach&lt;/span&gt; (DictionaryEntry
dceItem &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;in&lt;/span&gt; idcStat)
{ Console.WriteLine(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"Key:
{0}, Value: {1}"&lt;/span&gt;, dceItem.Key.ToString(), dceItem.Value.ToString()); } DataSet
dsActiveConfiguration &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; DataSet();
dsActiveConfiguration.Load(drdActiveConfiguration, LoadOption.OverwriteChanges, &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;string&lt;/span&gt;[]
{ &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"Foo1"&lt;/span&gt; });
dsActiveConfiguration.Clear(); conSQL.Close(); } &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;catch&lt;/span&gt; (Exception
excp) { } } }&lt;/span&gt;&lt;/pre&gt;By using this method, you get a quite information about
the execution process...&lt;br&gt;
&lt;br&gt;
&lt;font color="#006400"&gt;Key: NetworkServerTime, Value: 375&lt;br&gt;
Key: BytesReceived, Value: 224&lt;br&gt;
Key: UnpreparedExecs, Value: 1&lt;br&gt;
Key: SumResultSets, Value: 0&lt;br&gt;
Key: SelectCount, Value: 0&lt;br&gt;
Key: PreparedExecs, Value: 0&lt;br&gt;
Key: ConnectionTime, Value: 390&lt;br&gt;
Key: ExecutionTime, Value: 390&lt;br&gt;
Key: Prepares, Value: 0&lt;br&gt;
Key: BuffersSent, Value: 1&lt;br&gt;
Key: SelectRows, Value: 0&lt;br&gt;
Key: ServerRoundtrips, Value: 1&lt;br&gt;
Key: CursorOpens, Value: 0&lt;br&gt;
Key: Transactions, Value: 0&lt;br&gt;
Key: BytesSent, Value: 388&lt;br&gt;
Key: BuffersReceived, Value: 1&lt;br&gt;
Key: IduRows, Value: 0&lt;br&gt;
Key: IduCount, Value: 0&lt;br&gt;
Press any key to continue . . .&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
which is very handy :)&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=06b95b0e-d90c-4406-89ef-a200d295a941" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,06b95b0e-d90c-4406-89ef-a200d295a941.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=88f6c34a-574b-4133-a361-000e3fda8fe4</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,88f6c34a-574b-4133-a361-000e3fda8fe4.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,88f6c34a-574b-4133-a361-000e3fda8fe4.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=88f6c34a-574b-4133-a361-000e3fda8fe4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Today i received a question about how to
serialize an arraylist through xmlserialization.<br />
Then i rapidly wrote a class named MyData which has 2 properties<br /><pre><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">public</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">class</span> MyData<br />
{<br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">public</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">int</span> a;<br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">public</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">string</span> b;<br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">public</span> MyData()<br />
{ }<br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">public</span> MyData(<span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">int</span> _a, <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">string</span> _b)<br />
{<br />
a <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span> _a;<br />
b <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span> _b;<br />
}<br />
}</span></pre>Then generated some instances and added them to an arraylist in the
main project.<br /><pre><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">class</span> Program<br />
{<br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">static</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">void</span> Main(<span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">string</span>[]
args)<br />
{<br />
RunIt();<br />
}<br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">static</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">void</span> RunIt()<br />
{<br />
MyData v1 <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">(0, <span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"Zero"</span>);<br /></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"> v2 <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">(1, <span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"One"</span>);<br /></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData </span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">v3 <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"></span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">(2, <span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">"Two"</span>);<br /><br />
ArrayList al <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> ArrayList();<br />
al.Add(v1);<br />
al.Add(v2);<br />
al.Add(v3);<br /><br />
XmlSerializer s <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> XmlSerializer(<span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">typeof</span>(ArrayList));<br /><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">string</span> path <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">@"c:\seri.xml"</span>;<br />
TextWriter tx <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> StreamWriter(path, <span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">true</span>);<br />
s.Serialize(tx, al);<br />
tx.Close();<br /><br />
FileStream fs <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span> File.OpenRead(<span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;">@"c:\seri.xml"</span>);<br />
ArrayList ax <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span> (ArrayList)s.Deserialize(fs);<br /><br />
Console.WriteLine(((</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">)ax[0]).a.ToString());<br />
Console.WriteLine(((</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">)ax[1]).a.ToString());<br />
Console.WriteLine(((</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">MyData</span><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">)ax[2]).a.ToString());<br /><br />
}<br />
}<br /></span></pre>When i ran the code i got the error, <font color="#ff0000">{"The type
ConsoleApplication1.MyData was not expected. Use the XmlInclude or SoapInclude attribute
to specify types that are not known statically."}</font> which was the main question.<br /><br />
After some search i found out tht XmlSerializer was not aware of the type of MyData
class and thus i got the above error.<br />
To make XmlSerializer aware of a custom type, you should use one of it's constructer
methods while u'r creating the object.<br />
While creating XmlSerializer object i just added type type of my arraylist includes.<br /><pre><span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;">XmlSerializer
s <span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;">=</span><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> XmlSerializer(<span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">typeof</span>(ArrayList),<u><span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">new</span> Type[]{<span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;">typeof</span>(MyData)}</u>);</span></pre>Ps:
also i found out tht if u're developing this kind of code and having these type of
errors, everytime u run the project make sure u delete the serialization file.Cause
previous failed attemps may cause the right code to throw exceptions.<br /><p></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=88f6c34a-574b-4133-a361-000e3fda8fe4" /></body>
      <title>XML Serialization of an Arraylist.</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,88f6c34a-574b-4133-a361-000e3fda8fe4.aspx</guid>
      <link>http://www.leventyildiz.net/2008/08/09/XMLSerializationOfAnArraylist.aspx</link>
      <pubDate>Sat, 09 Aug 2008 16:59:02 GMT</pubDate>
      <description>Today i received a question about how to serialize an arraylist through xmlserialization.&lt;br&gt;
Then i rapidly wrote a class named MyData which has 2 properties&lt;br&gt;
&lt;pre&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;public&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;class&lt;/span&gt; MyData&lt;br&gt;
{&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;public&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;int&lt;/span&gt; a;&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;public&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;string&lt;/span&gt; b;&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;public&lt;/span&gt; MyData()&lt;br&gt;
{ }&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;public&lt;/span&gt; MyData(&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;int&lt;/span&gt; _a, &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;string&lt;/span&gt; _b)&lt;br&gt;
{&lt;br&gt;
a &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; _a;&lt;br&gt;
b &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; _b;&lt;br&gt;
}&lt;br&gt;
}&lt;/span&gt;&lt;/pre&gt;Then generated some instances and added them to an arraylist in the
main project.&lt;br&gt;
&lt;pre&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;class&lt;/span&gt; Program&lt;br&gt;
{&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;static&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;void&lt;/span&gt; Main(&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;string&lt;/span&gt;[]
args)&lt;br&gt;
{&lt;br&gt;
RunIt();&lt;br&gt;
}&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;static&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;void&lt;/span&gt; RunIt()&lt;br&gt;
{&lt;br&gt;
MyData v1 &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; &lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;(0, &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"Zero"&lt;/span&gt;);&lt;br&gt;
&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt; v2 &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; &lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;(1, &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"One"&lt;/span&gt;);&lt;br&gt;
&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData &lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;v3 &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; &lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;(2, &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;"Two"&lt;/span&gt;);&lt;br&gt;
&lt;br&gt;
ArrayList al &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; ArrayList();&lt;br&gt;
al.Add(v1);&lt;br&gt;
al.Add(v2);&lt;br&gt;
al.Add(v3);&lt;br&gt;
&lt;br&gt;
XmlSerializer s &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; XmlSerializer(&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;typeof&lt;/span&gt;(ArrayList));&lt;br&gt;
&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;string&lt;/span&gt; path &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;@"c:\seri.xml"&lt;/span&gt;;&lt;br&gt;
TextWriter tx &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; StreamWriter(path, &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;true&lt;/span&gt;);&lt;br&gt;
s.Serialize(tx, al);&lt;br&gt;
tx.Close();&lt;br&gt;
&lt;br&gt;
FileStream fs &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; File.OpenRead(&lt;span style="color: rgb(102, 102, 102); background-color: rgb(228, 228, 228); font-family: Courier New; font-size: 11px;"&gt;@"c:\seri.xml"&lt;/span&gt;);&lt;br&gt;
ArrayList ax &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; (ArrayList)s.Deserialize(fs);&lt;br&gt;
&lt;br&gt;
Console.WriteLine(((&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;)ax[0]).a.ToString());&lt;br&gt;
Console.WriteLine(((&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;)ax[1]).a.ToString());&lt;br&gt;
Console.WriteLine(((&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;MyData&lt;/span&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;)ax[2]).a.ToString());&lt;br&gt;
&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;/span&gt;&lt;/pre&gt;When i ran the code i got the error, &lt;font color="#ff0000"&gt;{"The type
ConsoleApplication1.MyData was not expected. Use the XmlInclude or SoapInclude attribute
to specify types that are not known statically."}&lt;/font&gt; which was the main question.&lt;br&gt;
&lt;br&gt;
After some search i found out tht XmlSerializer was not aware of the type of MyData
class and thus i got the above error.&lt;br&gt;
To make XmlSerializer aware of a custom type, you should use one of it's constructer
methods while u'r creating the object.&lt;br&gt;
While creating XmlSerializer object i just added type type of my arraylist includes.&lt;br&gt;
&lt;pre&gt;&lt;span style="color: Black; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;XmlSerializer
s &lt;span style="color: Red; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;=&lt;/span&gt; &lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; XmlSerializer(&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;typeof&lt;/span&gt;(ArrayList),&lt;u&gt;&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;new&lt;/span&gt; Type[]{&lt;span style="color: Blue; background-color: transparent; font-family: Courier New; font-size: 11px;"&gt;typeof&lt;/span&gt;(MyData)}&lt;/u&gt;);&lt;/span&gt;&lt;/pre&gt;Ps:
also i found out tht if u're developing this kind of code and having these type of
errors, everytime u run the project make sure u delete the serialization file.Cause
previous failed attemps may cause the right code to throw exceptions.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=88f6c34a-574b-4133-a361-000e3fda8fe4" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,88f6c34a-574b-4133-a361-000e3fda8fe4.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
        <a href="http://www.leventyildiz.net/content/binary/Cs_hata_yakalamak.pdf">Cs_hata_yakalamak.pdf
(395,48 KB)</a>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6" />
      </body>
      <title>Teknik ve bir o kadar da komik bir yazı</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6.aspx</guid>
      <link>http://www.leventyildiz.net/2008/07/18/TeknikVeBirOKadarDaKomikBirYaz%c4%b1.aspx</link>
      <pubDate>Fri, 18 Jul 2008 20:12:59 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
&lt;a href="http://www.leventyildiz.net/content/binary/Cs_hata_yakalamak.pdf"&gt;Cs_hata_yakalamak.pdf
(395,48 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,46a9e264-1ebc-47cf-8bc7-fe4b66a8f0e6.aspx</comments>
      <category>Genel</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=41fce181-22ed-42f7-965b-ef8f7885d1f0</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,41fce181-22ed-42f7-965b-ef8f7885d1f0.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,41fce181-22ed-42f7-965b-ef8f7885d1f0.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=41fce181-22ed-42f7-965b-ef8f7885d1f0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Bazı zamanlar vardır, bir virgül bile birkaç
saate mal olabilir.İşte şansıma geliştirme aşamasında yakaladığım bir "copy paste
programming" hatası. 
<br /><br /><pre><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if
@va_niccheckcfg_id=0 begin insert va_niccheckcfg_tbl <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">values</span> (
@va_niccheckcfg_name, @va_niccheckcfg_status, @va_niccheckcfg_esxip ) <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">end</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">else</span> begin <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">update</span> va_niccheckcfg_tbl <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">set</span> va_niccheckcfg_name=@va_niccheckcfg_name,
va_niccheckcfg_status=@va_niccheckcfg_status, va_niccheckcfg_esxip=@va_niccheckcfg_esxip <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">where</span> @va_niccheckcfg_id=@va_niccheckcfg_id <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">end</span></span></pre><br /><br />
evet farketmişsinizdir, update komutunun koşulunda 
<br />
@va_niccheckcfg_id=@va_niccheckcfg_id 
<br />
kodu bütün tabloyu 2 sn de allak bullak edebilecek bir potansiyele sahip. 
<br /><br />
AMAN DİYORUM :)<img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=41fce181-22ed-42f7-965b-ef8f7885d1f0" /></body>
      <title>Transact SQL yazarken yapılacak en büyük hatalardan birisi :)</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,41fce181-22ed-42f7-965b-ef8f7885d1f0.aspx</guid>
      <link>http://www.leventyildiz.net/2008/06/22/TransactSQLYazarkenYap%c4%b1lacakEnB%c3%bcy%c3%bckHatalardanBirisi.aspx</link>
      <pubDate>Sun, 22 Jun 2008 23:33:51 GMT</pubDate>
      <description>Bazı zamanlar vardır, bir virgül bile birkaç saate mal olabilir.İşte şansıma geliştirme aşamasında yakaladığım bir "copy paste programming" hatası. &lt;br&gt;
&lt;br&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if
@va_niccheckcfg_id=0 begin insert va_niccheckcfg_tbl &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;values&lt;/span&gt; (
@va_niccheckcfg_name, @va_niccheckcfg_status, @va_niccheckcfg_esxip ) &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;end&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;/span&gt; begin &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;update&lt;/span&gt; va_niccheckcfg_tbl &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;set&lt;/span&gt; va_niccheckcfg_name=@va_niccheckcfg_name,
va_niccheckcfg_status=@va_niccheckcfg_status, va_niccheckcfg_esxip=@va_niccheckcfg_esxip &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;where&lt;/span&gt; @va_niccheckcfg_id=@va_niccheckcfg_id &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;end&lt;/span&gt; &lt;/span&gt;&lt;/pre&gt;
&lt;br&gt;
&lt;br&gt;
evet farketmişsinizdir, update komutunun koşulunda 
&lt;br&gt;
@va_niccheckcfg_id=@va_niccheckcfg_id 
&lt;br&gt;
kodu bütün tabloyu 2 sn de allak bullak edebilecek bir potansiyele sahip. 
&lt;br&gt;
&lt;br&gt;
AMAN DİYORUM :)&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=41fce181-22ed-42f7-965b-ef8f7885d1f0" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,41fce181-22ed-42f7-965b-ef8f7885d1f0.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=53102fe9-318f-4559-9212-4ce2981cee4c</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,53102fe9-318f-4559-9212-4ce2981cee4c.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,53102fe9-318f-4559-9212-4ce2981cee4c.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=53102fe9-318f-4559-9212-4ce2981cee4c</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">ise;<br /><br />
1- SqlDataSource'un CancelSelectOnNullParameter değeri True ise bunu False yapın.Tekrar
deneyin.<br /><br />
hala olmadı diyorsanız;<br /><br />
2- Select olayının calisip calismadiğini anlamak için ya sql profiler kullanın ya
da SqlDataSource'un SelectCommand'ina hatalı bir sql sorgusu yazın.<br /><p></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=53102fe9-318f-4559-9212-4ce2981cee4c" /></body>
      <title>Selected event does not fire - SqlDataSource'un Selected olayı çalışmıyor</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,53102fe9-318f-4559-9212-4ce2981cee4c.aspx</guid>
      <link>http://www.leventyildiz.net/2008/06/16/SelectedEventDoesNotFireSqlDataSourceunSelectedOlay%c4%b1%c3%87al%c4%b1%c5%9fm%c4%b1yor.aspx</link>
      <pubDate>Mon, 16 Jun 2008 22:43:18 GMT</pubDate>
      <description>ise;&lt;br&gt;
&lt;br&gt;
1- SqlDataSource'un CancelSelectOnNullParameter değeri True ise bunu False yapın.Tekrar
deneyin.&lt;br&gt;
&lt;br&gt;
hala olmadı diyorsanız;&lt;br&gt;
&lt;br&gt;
2- Select olayının calisip calismadiğini anlamak için ya sql profiler kullanın ya
da SqlDataSource'un SelectCommand'ina hatalı bir sql sorgusu yazın.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=53102fe9-318f-4559-9212-4ce2981cee4c" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,53102fe9-318f-4559-9212-4ce2981cee4c.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=bdd78ac7-eccd-4524-ad38-273816ebcfcb</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,bdd78ac7-eccd-4524-ad38-273816ebcfcb.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,bdd78ac7-eccd-4524-ad38-273816ebcfcb.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bdd78ac7-eccd-4524-ad38-273816ebcfcb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Bir proje yaptınız ve assembly'yi gac a
install ettiniz (gacutil -I c:\proje\proje.dll)<br />
Proje.dll i kullanmak istediğiniz diğer projenize eklemek istediğinizde add references
penceresinde yarattığınız assembly'yi göremediniz?<br /><a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;306149"><br />
Ms destek açıklaması<br /></a><br />
Registry de ilgili ayarları yaptıktan sonra artık assembly'nizi add reference penceresinde
görebilirsiniz.<br /><p></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=bdd78ac7-eccd-4524-ad38-273816ebcfcb" /></body>
      <title>References bölümünde yarattığınız assembly'nin görüntülenmesi, (GAC'a yüklemek yeterli olmuyor)</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,bdd78ac7-eccd-4524-ad38-273816ebcfcb.aspx</guid>
      <link>http://www.leventyildiz.net/2008/06/15/ReferencesB%c3%b6l%c3%bcm%c3%bcndeYaratt%c4%b1%c4%9f%c4%b1n%c4%b1zAssemblyninG%c3%b6r%c3%bcnt%c3%bclenmesiGACaY%c3%bcklemekYeterliOlmuyor.aspx</link>
      <pubDate>Sun, 15 Jun 2008 01:01:41 GMT</pubDate>
      <description>Bir proje yaptınız ve assembly'yi gac a install ettiniz (gacutil -I c:\proje\proje.dll)&lt;br&gt;
Proje.dll i kullanmak istediğiniz diğer projenize eklemek istediğinizde add references
penceresinde yarattığınız assembly'yi göremediniz?&lt;br&gt;
&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;306149"&gt;
&lt;br&gt;
Ms destek açıklaması&lt;br&gt;
&lt;/a&gt;
&lt;br&gt;
Registry de ilgili ayarları yaptıktan sonra artık assembly'nizi add reference penceresinde
görebilirsiniz.&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=bdd78ac7-eccd-4524-ad38-273816ebcfcb" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,bdd78ac7-eccd-4524-ad38-273816ebcfcb.aspx</comments>
      <category>Post-It</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=2bae8379-51f5-4724-a116-b322d40bbae6</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,2bae8379-51f5-4724-a116-b322d40bbae6.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,2bae8379-51f5-4724-a116-b322d40bbae6.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=2bae8379-51f5-4724-a116-b322d40bbae6</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I'm currently in the planning stages of building a hosted Java web application (yes,
it has to be Java, for a variety of reasons that I don't feel like going into right
now). In the process, I'm evaluating a bunch of J2EE portlet-enabled JSR-compliant
MVC role-based CMS web service application container frameworks.<br /><br />
And after spending dozens of hours reading through feature lists and documentation,
I'm ready to gouge out my eyes.<br /><br />
Let's pretend I've decided to build a spice rack.<br /><br />
I've done small woodworking projects before, and I think I have a pretty good idea
of what I need: some wood and a few basic tools: a tape measure, a saw, a level, and
a hammer.<br /><br />
If I were going to build a whole house, rather than just a spice rack, I'd still need
a tape measure, a saw, a level, and a hammer (among other things).<br /><br />
So I go to the hardware store to buy the tools, and I ask the sales clerk where I
can find a hammer.<br /><br />
"A hammer?" he asks. "Nobody really buys hammers anymore. They're kind of old fashioned."<br /><br />
Surprised at this development, I ask him why.<br /><br />
"Well, the problem with hammers is that there are so many different kinds. Sledge
hammers, claw hammers, ball-peen hammers. What if you bought one kind of hammer and
then realized that you needed a different kind of hammer later? You'd have to buy
a separate hammer for your next task. As it turns out, most people really want a single
hammer that can handle all of the different kinds of hammering tasks you might encounter
in your life."<br /><br />
"Hmmmmmm. Well, I suppose that sounds all right. Can you show me where to find a Universal
Hammer."<br /><br />
"No, we don't sell those anymore. They're pretty obsolete."<br /><br />
"Really? I thought you just said that the Universal Hammer was the wave of the future."<br /><br />
"As it turns out, if you make only one kind of hammer, capable of performing all the
same tasks as all those different kinds of hammers, then it isn't very good at any
of them. Driving a nail with a sledgehammer isn't very effective. And, if you want
to kill your ex-girlfriend, there's really no substitute for a ball-peen hammer."<br /><br />
"That's true. So, if nobody buys Universal Hammers anymore, and if you're no longer
selling all those old-fashioned kinds of hammers, what kinds of hammers do you sell?"<br /><br />
"Actually, we don't sell hammers at all."<br /><br />
"So..."<br /><br />
"According to our research, what people really needed wasn't a Universal Hammer after
all. It's always better to have the right kind of hammer for the job. So, we started
selling hammer factories, capable of producing whatever kind of hammers you might
be interested in using. All you need to do is staff the hammer factory with workers,
activate the machinery, buy the raw materials, pay the utility bills, and PRESTO...you'll
have *exactly* the kind of hammer you need in no time flat."<br /><br />
"But I don't really want to buy a hammer factory..."<br /><br />
"That's good. Because we don't sell them anymore."<br /><br />
"But I thought you just said..."<br /><br />
"We discovered that most people don't actually need an entire hammer factory. Some
people, for example, will never need a ball-peen hammer. (Maybe they've never had
ex-girlfriends. Or maybe they killed them with icepicks instead.) So there's no point
in someone buying a hammer factory that can produce every kind of hammer under the
sun."<br /><br />
"Yeah, that makes a lot of sense."<br /><br />
"So, instead, we started selling schematic diagrams for hammer factories, enabling
our clients to build their own hammer factories, custom engineered to manufacture
only the kinds of hammers that they would actually need."<br /><br />
"Let me guess. You don't sell those anymore."<br /><br />
"Nope. Sure don't. As it turns out, people don't want to build an entire factory just
to manufacture a couple of hammers. Leave the factory-building up to the factory-building
experts, that's what I always say!!"<br /><br />
"And I would agree with you there."<br /><br />
"Yup. So we stopped selling those schematics and started selling hammer-factory-building
factories. Each hammer factory factory is built for you by the top experts in the
hammer factory factory business, so you don't need to worry about all the details
that go into building a factory. Yet you still get all the benefits of having your
own customized hammer factory, churning out your own customized hammers, according
to your own specific hammer designs."<br /><br />
"Well, that doesn't really..."<br /><br />
"I know what you're going to say!! ...and we don't sell those anymore either. For
some reason, not many people were buying the hammer factory factories, so we came
up with a new solution to address the problem."<br /><br />
"Uh huh."<br /><br />
"When we stepped back and looked at the global tool infrastructure, we determined
that people were frustrated with having to manage and operate a hammer factory factory,
as well as the hammer factory that it produced. That kind of overhead can get pretty
cumbersome when you deal with the likely scenario of also operating a tape measure
factory factory, a saw factory factory, and a level factory factory, not to mention
a lumber manufacturing conglomerate holding company. When we really looked at the
situation, we determined that that's just too complex for someone who really just
wants to build a spice rack."<br /><br />
"Yeah, no kidding."<br /><br />
"So this week, we're introducing a general-purpose tool-building factory factory factory,
so that all of your different tool factory factories can be produced by a single,
unified factory. The factory factory factory will produce only the tool factory factories
that you actually need, and each of those factory factories will produce a single
factory based on your custom tool specifications. The final set of tools that emerge
from this process will be the ideal tools for your particular project. You'll have
*exactly* the hammer you need, and exactly the right tape measure for your task, all
at the press of a button (though you may also have to deploy a few *configuration
files* to make it all work according to your expectations)."<br /><br />
"So you don't have any hammers? None at all?"<br /><br />
"No. If you really want a high-quality, industrially engineered spice rack, you desperately
need something more advanced than a simple hammer from a rinky-dink hardware store."<br /><br />
"And this is the way everyone is doing it now? Everyone is using a general-purpose
tool-building factory factory factory now, whenever they need a hammer?"<br /><br />
"Yes."<br /><br />
"Well…All right. I guess that's what I'll have to do. If this is the way things are
done now, I guess I'd better learn how to do it."<br /><br />
"Good for you!!"<br /><br />
"This thing comes with documentation, right?" 
<br /><br /><font color="#ffa500">Original post: </font><a href="http://discuss.joelonsoftware.com/default.asp?joel.3.219431.62"><font color="#ffa500">http://discuss.joelonsoftware.com/default.asp?joel.3.219431.62</font></a></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=2bae8379-51f5-4724-a116-b322d40bbae6" />
      </body>
      <title>Why Benji Smith hates frameworks :)</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,2bae8379-51f5-4724-a116-b322d40bbae6.aspx</guid>
      <link>http://www.leventyildiz.net/2008/03/05/WhyBenjiSmithHatesFrameworks.aspx</link>
      <pubDate>Wed, 05 Mar 2008 21:36:05 GMT</pubDate>
      <description>&lt;p&gt;
I'm currently in the planning stages of building a hosted Java web application (yes,
it has to be Java, for a variety of reasons that I don't feel like going into right
now). In the process, I'm evaluating a bunch of J2EE portlet-enabled JSR-compliant
MVC role-based CMS web service application container frameworks.&lt;br&gt;
&lt;br&gt;
And after spending dozens of hours reading through feature lists and documentation,
I'm ready to gouge out my eyes.&lt;br&gt;
&lt;br&gt;
Let's pretend I've decided to build a spice rack.&lt;br&gt;
&lt;br&gt;
I've done small woodworking projects before, and I think I have a pretty good idea
of what I need: some wood and a few basic tools: a tape measure, a saw, a level, and
a hammer.&lt;br&gt;
&lt;br&gt;
If I were going to build a whole house, rather than just a spice rack, I'd still need
a tape measure, a saw, a level, and a hammer (among other things).&lt;br&gt;
&lt;br&gt;
So I go to the hardware store to buy the tools, and I ask the sales clerk where I
can find a hammer.&lt;br&gt;
&lt;br&gt;
"A hammer?" he asks. "Nobody really buys hammers anymore. They're kind of old fashioned."&lt;br&gt;
&lt;br&gt;
Surprised at this development, I ask him why.&lt;br&gt;
&lt;br&gt;
"Well, the problem with hammers is that there are so many different kinds. Sledge
hammers, claw hammers, ball-peen hammers. What if you bought one kind of hammer and
then realized that you needed a different kind of hammer later? You'd have to buy
a separate hammer for your next task. As it turns out, most people really want a single
hammer that can handle all of the different kinds of hammering tasks you might encounter
in your life."&lt;br&gt;
&lt;br&gt;
"Hmmmmmm. Well, I suppose that sounds all right. Can you show me where to find a Universal
Hammer."&lt;br&gt;
&lt;br&gt;
"No, we don't sell those anymore. They're pretty obsolete."&lt;br&gt;
&lt;br&gt;
"Really? I thought you just said that the Universal Hammer was the wave of the future."&lt;br&gt;
&lt;br&gt;
"As it turns out, if you make only one kind of hammer, capable of performing all the
same tasks as all those different kinds of hammers, then it isn't very good at any
of them. Driving a nail with a sledgehammer isn't very effective. And, if you want
to kill your ex-girlfriend, there's really no substitute for a ball-peen hammer."&lt;br&gt;
&lt;br&gt;
"That's true. So, if nobody buys Universal Hammers anymore, and if you're no longer
selling all those old-fashioned kinds of hammers, what kinds of hammers do you sell?"&lt;br&gt;
&lt;br&gt;
"Actually, we don't sell hammers at all."&lt;br&gt;
&lt;br&gt;
"So..."&lt;br&gt;
&lt;br&gt;
"According to our research, what people really needed wasn't a Universal Hammer after
all. It's always better to have the right kind of hammer for the job. So, we started
selling hammer factories, capable of producing whatever kind of hammers you might
be interested in using. All you need to do is staff the hammer factory with workers,
activate the machinery, buy the raw materials, pay the utility bills, and PRESTO...you'll
have *exactly* the kind of hammer you need in no time flat."&lt;br&gt;
&lt;br&gt;
"But I don't really want to buy a hammer factory..."&lt;br&gt;
&lt;br&gt;
"That's good. Because we don't sell them anymore."&lt;br&gt;
&lt;br&gt;
"But I thought you just said..."&lt;br&gt;
&lt;br&gt;
"We discovered that most people don't actually need an entire hammer factory. Some
people, for example, will never need a ball-peen hammer. (Maybe they've never had
ex-girlfriends. Or maybe they killed them with icepicks instead.) So there's no point
in someone buying a hammer factory that can produce every kind of hammer under the
sun."&lt;br&gt;
&lt;br&gt;
"Yeah, that makes a lot of sense."&lt;br&gt;
&lt;br&gt;
"So, instead, we started selling schematic diagrams for hammer factories, enabling
our clients to build their own hammer factories, custom engineered to manufacture
only the kinds of hammers that they would actually need."&lt;br&gt;
&lt;br&gt;
"Let me guess. You don't sell those anymore."&lt;br&gt;
&lt;br&gt;
"Nope. Sure don't. As it turns out, people don't want to build an entire factory just
to manufacture a couple of hammers. Leave the factory-building up to the factory-building
experts, that's what I always say!!"&lt;br&gt;
&lt;br&gt;
"And I would agree with you there."&lt;br&gt;
&lt;br&gt;
"Yup. So we stopped selling those schematics and started selling hammer-factory-building
factories. Each hammer factory factory is built for you by the top experts in the
hammer factory factory business, so you don't need to worry about all the details
that go into building a factory. Yet you still get all the benefits of having your
own customized hammer factory, churning out your own customized hammers, according
to your own specific hammer designs."&lt;br&gt;
&lt;br&gt;
"Well, that doesn't really..."&lt;br&gt;
&lt;br&gt;
"I know what you're going to say!! ...and we don't sell those anymore either. For
some reason, not many people were buying the hammer factory factories, so we came
up with a new solution to address the problem."&lt;br&gt;
&lt;br&gt;
"Uh huh."&lt;br&gt;
&lt;br&gt;
"When we stepped back and looked at the global tool infrastructure, we determined
that people were frustrated with having to manage and operate a hammer factory factory,
as well as the hammer factory that it produced. That kind of overhead can get pretty
cumbersome when you deal with the likely scenario of also operating a tape measure
factory factory, a saw factory factory, and a level factory factory, not to mention
a lumber manufacturing conglomerate holding company. When we really looked at the
situation, we determined that that's just too complex for someone who really just
wants to build a spice rack."&lt;br&gt;
&lt;br&gt;
"Yeah, no kidding."&lt;br&gt;
&lt;br&gt;
"So this week, we're introducing a general-purpose tool-building factory factory factory,
so that all of your different tool factory factories can be produced by a single,
unified factory. The factory factory factory will produce only the tool factory factories
that you actually need, and each of those factory factories will produce a single
factory based on your custom tool specifications. The final set of tools that emerge
from this process will be the ideal tools for your particular project. You'll have
*exactly* the hammer you need, and exactly the right tape measure for your task, all
at the press of a button (though you may also have to deploy a few *configuration
files* to make it all work according to your expectations)."&lt;br&gt;
&lt;br&gt;
"So you don't have any hammers? None at all?"&lt;br&gt;
&lt;br&gt;
"No. If you really want a high-quality, industrially engineered spice rack, you desperately
need something more advanced than a simple hammer from a rinky-dink hardware store."&lt;br&gt;
&lt;br&gt;
"And this is the way everyone is doing it now? Everyone is using a general-purpose
tool-building factory factory factory now, whenever they need a hammer?"&lt;br&gt;
&lt;br&gt;
"Yes."&lt;br&gt;
&lt;br&gt;
"Well…All right. I guess that's what I'll have to do. If this is the way things are
done now, I guess I'd better learn how to do it."&lt;br&gt;
&lt;br&gt;
"Good for you!!"&lt;br&gt;
&lt;br&gt;
"This thing comes with documentation, right?" 
&lt;br&gt;
&lt;br&gt;
&lt;font color=#ffa500&gt;Original post: &lt;/font&gt;&lt;a href="http://discuss.joelonsoftware.com/default.asp?joel.3.219431.62"&gt;&lt;font color=#ffa500&gt;http://discuss.joelonsoftware.com/default.asp?joel.3.219431.62&lt;/font&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=2bae8379-51f5-4724-a116-b322d40bbae6" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,2bae8379-51f5-4724-a116-b322d40bbae6.aspx</comments>
      <category>Genel</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=8581d2fa-7034-4359-a053-05cdc48ae9e4</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,8581d2fa-7034-4359-a053-05cdc48ae9e4.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,8581d2fa-7034-4359-a053-05cdc48ae9e4.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8581d2fa-7034-4359-a053-05cdc48ae9e4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Üzerinde çalıştığım bir oyun projesinde yarış zamanlarını ve rezervasyon durumunu
gösteren bir sayfa tasarlıyordum.Select işlemini stored proc ile yaptım, yarışa alınacak
max kişi sayısını ve mevcut rezervasyon yapan kişi sayısını okuyordum.Sp execute süresi
9 sn idi, aspx in gridview rowdatabound daki işlemleri de ekleyince işlem süresi yaklaşık
15 sn ye ulaşıyordu.<br /><br />
Yarışa alınacak max kişi sayısını page load da okuyup bir dataset e atmayı ve dataview
ile gridview in rowdatabound olayında filtrelemeyi denedim.Sp tarafında yarışa alınacak
max kişi sayısını çıkardığımda execute süresi 0sn ye indi.Bu güzel bir gelişmeydi
fakat sayfayı çalıştırdığımda bu sefer sürenin 16-17 sn ye çıktığını gördüm.<br /><br />
Çaresiz kalmıştım.Birden aklıma DataView yerine HashTable kullanmak geldi.Max kişi
sayısını page loadda okuyup hashtable a ekledim.Gridview un rowdatabound olayında
da max kişi sayısına HashTable i kullanarak ulaştım.Sonuç inanılmazdı.Sayfa 1 sn den
az bir zamanda geliyordu.<br /><br /></p>
        <img src="http://www.leventyildiz.net/content/binary/1sn.JPG" border="0" />
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=8581d2fa-7034-4359-a053-05cdc48ae9e4" />
      </body>
      <title>DataView vs HashTable</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,8581d2fa-7034-4359-a053-05cdc48ae9e4.aspx</guid>
      <link>http://www.leventyildiz.net/2008/02/03/DataViewVsHashTable.aspx</link>
      <pubDate>Sun, 03 Feb 2008 15:08:52 GMT</pubDate>
      <description>&lt;p&gt;
Üzerinde çalıştığım bir oyun projesinde yarış zamanlarını ve rezervasyon durumunu
gösteren bir sayfa tasarlıyordum.Select işlemini stored proc ile yaptım, yarışa alınacak
max kişi sayısını ve mevcut rezervasyon yapan kişi sayısını okuyordum.Sp execute süresi
9 sn idi, aspx in gridview rowdatabound daki işlemleri de ekleyince işlem süresi yaklaşık
15 sn ye ulaşıyordu.&lt;br&gt;
&lt;br&gt;
Yarışa alınacak max kişi sayısını page load da okuyup bir dataset e atmayı ve dataview
ile gridview in rowdatabound olayında filtrelemeyi denedim.Sp tarafında yarışa alınacak
max kişi sayısını çıkardığımda execute süresi 0sn ye indi.Bu güzel bir gelişmeydi
fakat sayfayı çalıştırdığımda bu sefer sürenin 16-17 sn ye çıktığını gördüm.&lt;br&gt;
&lt;br&gt;
Çaresiz kalmıştım.Birden aklıma DataView yerine HashTable kullanmak geldi.Max kişi
sayısını page loadda okuyup hashtable a ekledim.Gridview un rowdatabound olayında
da max kişi sayısına HashTable i kullanarak ulaştım.Sonuç inanılmazdı.Sayfa 1 sn den
az bir zamanda geliyordu.&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/1sn.JPG" border=0&gt;&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=8581d2fa-7034-4359-a053-05cdc48ae9e4" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,8581d2fa-7034-4359-a053-05cdc48ae9e4.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=de8dc755-2ab6-42ec-9867-539ab23aca08</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,de8dc755-2ab6-42ec-9867-539ab23aca08.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,de8dc755-2ab6-42ec-9867-539ab23aca08.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=de8dc755-2ab6-42ec-9867-539ab23aca08</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Asp.net projelerinizde veritabanı erişimlerini App_Code dir'i icinde tanımladığınız
sınıflar içinden yapmak isteyebilirsiniz.Eğer projenizde access veritabanı kullanıyorsanız
Server.MapPath() metodunu kullanmakta sorun yaşarsınız çünkü App_Code içindeki bir
sınıfta Server sınıfı tanımlı değildir.<br /><br />
App_Code dir i içindeki bir sınıfta Server.MapPath() metodunu aşağıdaki şekilde kullanabilirsiniz.<br /><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><br />
HttpServerUtility hs=HttpContext.Current.Server;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string<font color="#000000"> APPDATAYOLU
=</font></span> hs.MapPath(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"~/App_Data"</span>);<br /></span></p>
        <p>
Kolay gelsin
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=de8dc755-2ab6-42ec-9867-539ab23aca08" />
      </body>
      <title>Server.MapPath &amp; App_Code</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,de8dc755-2ab6-42ec-9867-539ab23aca08.aspx</guid>
      <link>http://www.leventyildiz.net/2008/01/05/ServerMapPathAppCode.aspx</link>
      <pubDate>Sat, 05 Jan 2008 22:53:44 GMT</pubDate>
      <description>&lt;p&gt;
Asp.net projelerinizde veritabanı erişimlerini App_Code dir'i icinde tanımladığınız
sınıflar içinden yapmak isteyebilirsiniz.Eğer projenizde access veritabanı kullanıyorsanız
Server.MapPath() metodunu kullanmakta sorun yaşarsınız çünkü App_Code içindeki bir
sınıfta Server sınıfı tanımlı değildir.&lt;br&gt;
&lt;br&gt;
App_Code dir i içindeki bir sınıfta Server.MapPath() metodunu aşağıdaki şekilde kullanabilirsiniz.&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
&lt;br&gt;
HttpServerUtility hs=HttpContext.Current.Server;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;font color=#000000&gt;&amp;nbsp;APPDATAYOLU
=&lt;/font&gt;&lt;/span&gt;&amp;nbsp;hs.MapPath(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"~/App_Data"&lt;/span&gt;);&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Kolay gelsin
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=de8dc755-2ab6-42ec-9867-539ab23aca08" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,de8dc755-2ab6-42ec-9867-539ab23aca08.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=5a93ca72-0127-49be-b860-162288ea8175</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,5a93ca72-0127-49be-b860-162288ea8175.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,5a93ca72-0127-49be-b860-162288ea8175.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5a93ca72-0127-49be-b860-162288ea8175</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <pre>Asp.net projelerinde genelde verinin db den okunması için sqldatasource 
<br />
nesneleri kullanırız.Fakat kullanıcının arama yapması gibi durumlarda <br />
dinamik sql yaratmamız gerekebilir.Bu tür durumlarda Gridview nesnesinin 
<br />
datasource özelliğine codebehind da yarattığımız bir DataSet nesnesini 
<br />
atarız.<br /><br /><br /><br /><br /><br />
Örnek bir search<br /><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">protected</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> btnSearch_Click(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> sender,
EventArgs e)<br />
    {<br />
        SqlConnection conSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> SqlConnection(<br />
            ConfigurationManager.<br />
               ConnectionStrings[<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"XConnectionString"</span>].<br />
                  ConnectionString);<br />
        SqlCommand cmdSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> SqlCommand();<br />
        
<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> strSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"select x,y,z
from a_tbl</span></span><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"> where
"</span>;<br /><br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.txtX.Text.Trim().Length
&gt; 0)<br />
        {<br />
            strSQL += <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"x
like @X and "</span>;<br />
            cmdSQL.Parameters.Add(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span><br />
               SqlParameter(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"@X"</span>, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.txtX.Text.Trim()));<br />
        }<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.txtY.Text.Trim().Length
&gt; 0)<br />
        {<br />
            strSQL += <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"y
like @Y and "</span>;<br />
            cmdSQL.Parameters.Add(<br />
               <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> SqlParameter(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"@Y"</span>, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.txtY.Text.Trim()));<br />
        }<br /><br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (strSQL.Substring(strSQL.Length <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">-</span> 5,
5) == <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
and "</span>)<br />
            strSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> strSQL.Substring(0,
strSQL.Length <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">-</span> 5);<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (strSQL.Substring(strSQL.Length <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">-</span> 7,
7) == <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"
where "</span>)<br />
            strSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> strSQL.Substring(0,
strSQL.Length <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">-</span> 7);<br /><br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">try</span><br />
        {<br />
            conSQL.Open();<br />
        }<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">catch</span> (Exception
excp)<br />
        {<br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.lblSearchInfo.Text <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Hata
oluştu -&gt; "</span><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">+</span><br />
               excp.Message;<br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span>;<br />
        }<br />
        cmdSQL.Connection <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> conSQL;<br />
        cmdSQL.CommandText <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> strSQL;<br />
        SqlDataReader drdSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>;<br />
        DataSet dsSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DataSet();<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">try</span><br />
        {<br />
            drdSQL <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> cmdSQL.ExecuteReader();<br />
        }<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">catch</span> (Exception
excp)<br />
        {<br />
            conSQL.Close();<br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.lblSearchInfo.Text <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> excp.Message;<br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span>;<br />
        }<br />
        dsSQL.Load(drdSQL, LoadOption.OverwriteChanges,<br />
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>[]
{ <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"a_tbl"</span> });<br />
        drdSQL.Close();<br />
        conSQL.Close();<br /><strong>        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.gvwCus.DataSource <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> dsSQL;<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.gvwCus.DataBind();<br /></strong>    }<br /></span></pre>
        <p>
Son iki satırda gördüğünüz gibi gvwCus Gridview'umuza dsSQL dataset'ini<br />
dinamik olarak bağlıyoruz.Fakat eğer gridview un paging özelliğini true 
<br />
olarak set edersek bu birsonraki sayfaya gitmeye kalktığımızda hata 
<br />
almamıza neden olacaktır.<br /><br />
Bu sorun can sıkıcı olsa da çözümü basittir.İlk olarak DataSet nesnesini 
<br />
ister class'ın en üstüne private static olarak tanımlayın, isterseniz 
<br />
ViewState veya Session bazında saklayın, dataset'ın sınıfın her 
<br />
üyesinden ulaşılabilecek hale getirin.<br /><br />
Bu durumda ben viewstate'i kullanıyorum.<br />
Search'ün son iki satırını aşağıdaki gibi değiştiriyorum.<br /><br /><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">         ViewState[<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"a_tbl"</span>] <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> dsSQL;</span>         <br /><strong><font face="Courier New"><font color="#000000">        </font><font size="2"><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span><font color="#000000">.gvwCus.DataSource </font><span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span></font></font></strong><strong><font face="Courier New"><font color="#000000"> dsSQL;<br />
        </font><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><font size="2">this</font></span></font><font face="Courier New" color="#000000">.gvwCus.DataBind();<br /></font></strong><font face="Courier New" color="#000000">    }</font><br /><br />
Ardından Gridview'un PageIndexChanging eventine aşağıdaki kodu yazın.<br /><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">protected</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> gvwCus_PageIndexChanging(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> sender,<br />
      GridViewPageEventArgs e)<br />
    {<br />
        gvwCus.PageIndex <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> e.NewPageIndex;<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">this</span>.gvwCus.DataSource <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (DataSet)ViewState[<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"a_tbl"</span>];<br />
        gvwCus.DataBind();<br />
    }<br /></span></p>
        <p>
Sorununuz bu şekilde çözülmüş olur.
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=5a93ca72-0127-49be-b860-162288ea8175" />
      </body>
      <title>Gridview - Paging - DataSet</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,5a93ca72-0127-49be-b860-162288ea8175.aspx</guid>
      <link>http://www.leventyildiz.net/2008/01/05/GridviewPagingDataSet.aspx</link>
      <pubDate>Sat, 05 Jan 2008 19:44:16 GMT</pubDate>
      <description>&lt;pre&gt;Asp.net projelerinde genelde verinin db den okunması için sqldatasource 
&lt;br&gt;
nesneleri kullanırız.Fakat kullanıcının&amp;nbsp;arama yapması gibi&amp;nbsp;durumlarda&amp;nbsp;&lt;br&gt;
dinamik sql yaratmamız gerekebilir.Bu tür durumlarda Gridview nesnesinin 
&lt;br&gt;
datasource özelliğine codebehind da yarattığımız bir DataSet nesnesini 
&lt;br&gt;
atarız.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Örnek bir search&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;protected&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; btnSearch_Click(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; sender,
EventArgs e)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlConnection conSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; SqlConnection(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConfigurationManager.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ConnectionStrings[&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"XConnectionString"&lt;/span&gt;].&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ConnectionString);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlCommand cmdSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; SqlCommand();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; strSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"select&amp;nbsp;x,y,z
from a_tbl&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;&amp;nbsp;where
"&lt;/span&gt;;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.txtX.Text.Trim().Length
&amp;gt; 0)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSQL += &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"x
like @X and "&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQL.Parameters.Add(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SqlParameter(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"@X"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.txtX.Text.Trim()));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.txtY.Text.Trim().Length
&amp;gt; 0)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSQL += &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"y
like @Y and "&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQL.Parameters.Add(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; SqlParameter(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"@Y"&lt;/span&gt;, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.txtY.Text.Trim()));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (strSQL.Substring(strSQL.Length &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;-&lt;/span&gt; 5,
5) == &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
and "&lt;/span&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; strSQL.Substring(0,
strSQL.Length &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;-&lt;/span&gt; 5);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (strSQL.Substring(strSQL.Length &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;-&lt;/span&gt; 7,
7) == &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"
where "&lt;/span&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; strSQL.Substring(0,
strSQL.Length &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;-&lt;/span&gt; 7);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;try&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conSQL.Open();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;catch&lt;/span&gt; (Exception
excp)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.lblSearchInfo.Text &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Hata
oluştu -&amp;gt; "&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;+&lt;/span&gt; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;excp.Message;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQL.Connection &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; conSQL;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cmdSQL.CommandText &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; strSQL;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlDataReader drdSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DataSet dsSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DataSet();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;try&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drdSQL &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; cmdSQL.ExecuteReader();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;catch&lt;/span&gt; (Exception
excp)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conSQL.Close();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.lblSearchInfo.Text &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; excp.Message;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dsSQL.Load(drdSQL, LoadOption.OverwriteChanges,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;[]
{ &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"a_tbl"&lt;/span&gt; });&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; drdSQL.Close();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; conSQL.Close();&lt;br&gt;
&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.gvwCus.DataSource &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; dsSQL;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.gvwCus.DataBind();&lt;br&gt;
&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;/pre&gt;&gt; 
&lt;p&gt;
Son iki satırda gördüğünüz gibi gvwCus Gridview'umuza dsSQL dataset'ini&lt;br&gt;
dinamik olarak bağlıyoruz.Fakat eğer gridview un paging özelliğini true 
&lt;br&gt;
olarak set edersek bu birsonraki sayfaya gitmeye kalktığımızda hata 
&lt;br&gt;
almamıza neden olacaktır.&lt;br&gt;
&lt;br&gt;
Bu sorun can sıkıcı olsa da çözümü basittir.İlk olarak DataSet nesnesini 
&lt;br&gt;
ister class'ın en üstüne private static olarak tanımlayın, isterseniz 
&lt;br&gt;
ViewState veya Session bazında saklayın, dataset'ın sınıfın her 
&lt;br&gt;
üyesinden ulaşılabilecek hale getirin.&lt;br&gt;
&lt;br&gt;
Bu durumda ben viewstate'i kullanıyorum.&lt;br&gt;
Search'ün son iki satırını aşağıdaki gibi değiştiriyorum.&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ViewState[&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"a_tbl"&lt;/span&gt;] &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; dsSQL;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&lt;strong&gt;&lt;font face="Courier New"&gt;&lt;font color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;font size=2&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;&lt;font color=#000000&gt;.gvwCus.DataSource &lt;/font&gt;&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;strong&gt;&lt;font face="Courier New"&gt;&lt;font color=#000000&gt; dsSQL;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font size=2&gt;this&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;font face="Courier New" color=#000000&gt;.gvwCus.DataBind();&lt;br&gt;
&lt;/font&gt;&lt;/strong&gt;&lt;font face="Courier New" color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
Ardından Gridview'un PageIndexChanging eventine aşağıdaki kodu yazın.&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;protected&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; gvwCus_PageIndexChanging(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; sender,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GridViewPageEventArgs e)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvwCus.PageIndex &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; e.NewPageIndex;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;this&lt;/span&gt;.gvwCus.DataSource &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (DataSet)ViewState[&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"a_tbl"&lt;/span&gt;];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gvwCus.DataBind();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Sorununuz bu şekilde çözülmüş olur.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=5a93ca72-0127-49be-b860-162288ea8175" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,5a93ca72-0127-49be-b860-162288ea8175.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=78fe6653-2a6e-4c09-9ca7-2bf16fafe748</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,78fe6653-2a6e-4c09-9ca7-2bf16fafe748.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,78fe6653-2a6e-4c09-9ca7-2bf16fafe748.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=78fe6653-2a6e-4c09-9ca7-2bf16fafe748</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
C#'daki using direktifini hepimiz biliyoruz.<br /><br />
using System;<br />
using System.Data;<br /><br />
Peki tam olarak ne yapıyor bu using? İlk aşamada bilinen görevini açıklayayım.Using direktifleri
yazarak, kullanacağınız sınıfın namespace'ini tekrar tekrar bildirmenize gerek
kalmaz.<br /><br />
Örneğin "using System.Data.SqlClient;" kodunu yazdığınızda bir SqlParameter nesnesi yaratmak
için;
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">System.Data.SqlClient.SqlParameter
paramSQL1 <font color="#ff0000">=</font><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> System.Data.SqlClient.SqlParameter();</span>
        </pre>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font face="Verdana" color="#000000" size="2">yazmanıza
gerek kalmaz.<br /><br /></font>
          </span>
        </p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">SqlParameter
paramSQL1 <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> SqlParameter();</span>
        </pre>
        <p>
kodu ile tanımlamayı yapabilirsiniz.<br /><br />
Bunun yanısıra using direktifi ile aliaslar yaratabiliriz.Ooo süper.Ee nedir bu alias?<br />
Aynı projede farklı namespaceler içinde projeler geliştirebiliriz.Örneğin "AndromedaM31SarmalGalaksi" ve "M33SpiralGalaksi" namespace
lerimiz olsun.<br />
"AndromedaM31SarmalGalaksi" namespace i icinde "Yıldız" isminde bir sınıfımız
olsun.Aynı şekilde ikinci galaksimiz "M33SpiralGalaksi" namespace'inde de<br />
"Yıldız" isminde bir sınıfımız olsun.<br /><br />
Bu iki namespace'i aynı projede kullandığımızda Yıldız sınıfları çakışacaktır.<br /><br /><img style="WIDTH: 538px; HEIGHT: 381px" height="245" src="http://www.leventyildiz.net/content/binary/namespacecollution.JPG" width="400" border="0" /><br /><br />
"Ambiguous name - choose from the following <strong>:)</strong>" mesajı ile Microsoft'ta
da ne kadar espritüel kod geliştiren arkadaşlarımızın olduğunuda anlamış oluyoruz
:P<br /><br />
Dolayısı ile hangi galaksi (namespace) için Yıldız sınıfını yarattığımızı belirtmemiz
gerekir.<br />
Bu tür durumlarda using direktifi ile alias tanımlarız.<br /><br />
Örnek proje:<br /></p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Collections.Generic; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Text; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> AndromedaM31SarmalGalaksi; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> M33SpiralGalaksi; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">namespace</span> ConsoleApplication1
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> AndromedaM31SarmalGalaksi; <strong><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> M33 <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> M33SpiralGalaksi.Yildiz; <font color="#006400">//
İŞTE ALIAS IMIZ...</font></strong><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Program
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> Main(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>[]
args) {<br /><strong><font color="#006400">            //
M33 alias ını kullanarak direkt olarak 
<br />
            // M33SpiralGalaksi.Yildiz 
<br />
            // sınıfını
hedeflemiş bulunuyoruz...</font></strong> M33 a <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> M33(); 
<br />
Yildiz b <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> Yildiz();
Console.WriteLine(a.ToString()); Console.WriteLine(b.ToString()); } } } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">namespace</span> AndromedaM31SarmalGalaksi
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Yildiz
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">override</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> ToString()
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Andromeda
M31 Sarmal Galaksi"</span>; } } } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">namespace</span> M33SpiralGalaksi
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Yildiz
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">override</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> ToString()
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"M33
Spiral Galaksi"</span>; } } }<br /></span>
          <font face="Verdana">
            <font face="Verdana">
              <br />
              <br />
              <br />
              <br />
            </font>
          </font>
        </pre>
        <p>
          <font face="Verdana">Projenin çıktısı;</font>
          <font face="Verdana">
            <br />
          </font>
        </p>
        <p>
          <img height="220" src="http://www.leventyildiz.net/content/binary/namespacecollution1.JPG" width="420" border="0" />
        </p>
        <p>
şeklinde olacaktır.
</p>
        <p>
          <strong>Gelelim using'in farklı bir kullanımına...<br /></strong>MSDN der ki : <u><font color="#ff0000">Defines a scope, outside of which
an object or objects will be disposed.</font></u></p>
        <p>
Yani der ki using size, imlecin dışarı çıktığı anda using le yaratılan nesne veya
nesnelerin yokedileceği bir blok yaratmanızı sağlar.<br />
Unutmadan değinmek isterim using ile yaratılacak nesneler <strong>IDisposable</strong> arayüzünü
uygulamış olmalıdırlar!<br /><br />
using (nesne yaratma işlemi)<br />
{<br />
}<br />
//yarattığımız nesne imleç bu satıra gelince yok olacaktır.<br /><br />
En güzel anlatım örnekli anlatımdır derler, hemen bir örnek yapalım.
</p>
        <pre>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System; <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> C
: IDisposable { <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> UseLimitedResource()
{ Console.WriteLine(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Using
limited resource..."</span>); } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> IDisposable.Dispose()
{ Console.WriteLine(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Disposing
limited resource."</span>); } } <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Program
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> Main()
{ <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> (C
c <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> C())
{ c.UseLimitedResource(); } Console.WriteLine(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Now
outside using statement."</span>); Console.ReadLine(); } } </span>
        </pre>
        <p>
Çıktıya bakalım;<br /><br /><img style="WIDTH: 433px; HEIGHT: 239px" height="221" src="http://www.leventyildiz.net/content/binary/namespacecollution2.JPG" width="411" border="0" /><br /><br />
Evet tahmin ettiğimiz gibi; "Now outside using statement." mesajından önce imleç using
kod bloğundan çıktığı için otomatik olarak C sınıfının Dispose metodu çağırılmıştır.<br /><br />
Alt tarafı using değil mi? :)<br />
Hayırlı kodlamalar...<br /><br />
Kaynak:MSDN
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=78fe6653-2a6e-4c09-9ca7-2bf16fafe748" />
      </body>
      <title>Talep üzerine Using</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,78fe6653-2a6e-4c09-9ca7-2bf16fafe748.aspx</guid>
      <link>http://www.leventyildiz.net/2007/12/31/Talep%c3%9czerineUsing.aspx</link>
      <pubDate>Mon, 31 Dec 2007 15:08:33 GMT</pubDate>
      <description>&lt;p&gt;
C#'daki using direktifini hepimiz biliyoruz.&lt;br&gt;
&lt;br&gt;
using System;&lt;br&gt;
using System.Data;&lt;br&gt;
&lt;br&gt;
Peki tam olarak ne yapıyor bu using? İlk aşamada bilinen görevini açıklayayım.Using&amp;nbsp;direktifleri
yazarak,&amp;nbsp;kullanacağınız sınıfın namespace'ini tekrar tekrar bildirmenize gerek
kalmaz.&lt;br&gt;
&lt;br&gt;
Örneğin "using System.Data.SqlClient;" kodunu yazdığınızda&amp;nbsp;bir SqlParameter nesnesi&amp;nbsp;yaratmak
için;
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;System.Data.SqlClient.SqlParameter
paramSQL1 &lt;font color=#ff0000&gt;=&lt;/font&gt; 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; System.Data.SqlClient.SqlParameter();&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font face=Verdana color=#000000 size=2&gt;yazmanıza
gerek kalmaz.&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;SqlParameter
paramSQL1 &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; SqlParameter();&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
kodu ile tanımlamayı yapabilirsiniz.&lt;br&gt;
&lt;br&gt;
Bunun yanısıra using direktifi ile aliaslar yaratabiliriz.Ooo süper.Ee nedir bu alias?&lt;br&gt;
Aynı projede farklı namespaceler içinde projeler geliştirebiliriz.Örneğin&amp;nbsp;"AndromedaM31SarmalGalaksi"&amp;nbsp;ve&amp;nbsp;"M33SpiralGalaksi"&amp;nbsp;namespace
lerimiz olsun.&lt;br&gt;
"AndromedaM31SarmalGalaksi" namespace i icinde&amp;nbsp;"Yıldız" isminde bir sınıfımız
olsun.Aynı şekilde ikinci galaksimiz "M33SpiralGalaksi" namespace'inde de&lt;br&gt;
"Yıldız" isminde bir sınıfımız olsun.&lt;br&gt;
&lt;br&gt;
Bu iki namespace'i aynı projede kullandığımızda Yıldız sınıfları çakışacaktır.&lt;br&gt;
&lt;br&gt;
&lt;img style="WIDTH: 538px; HEIGHT: 381px" height=245 src="http://www.leventyildiz.net/content/binary/namespacecollution.JPG" width=400 border=0&gt;
&lt;br&gt;
&lt;br&gt;
"Ambiguous name - choose from the following &lt;strong&gt;:)&lt;/strong&gt;" mesajı ile Microsoft'ta
da ne kadar espritüel kod geliştiren arkadaşlarımızın olduğunuda anlamış oluyoruz
:P&lt;br&gt;
&lt;br&gt;
Dolayısı ile hangi galaksi (namespace) için Yıldız sınıfını yarattığımızı belirtmemiz
gerekir.&lt;br&gt;
Bu tür durumlarda using direktifi ile alias tanımlarız.&lt;br&gt;
&lt;br&gt;
Örnek proje:&lt;br&gt;
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Collections.Generic; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Text; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; AndromedaM31SarmalGalaksi; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; M33SpiralGalaksi; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;namespace&lt;/span&gt; ConsoleApplication1
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; AndromedaM31SarmalGalaksi; &lt;strong&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; M33 &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; M33SpiralGalaksi.Yildiz; &lt;font color=#006400&gt;//
İŞTE ALIAS IMIZ...&lt;/font&gt;&lt;/strong&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Program
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; Main(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;[]
args) {&lt;br&gt;
&lt;strong&gt;&lt;font color=#006400&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//
M33 alias ını kullanarak direkt olarak 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// M33SpiralGalaksi.Yildiz 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// sınıfını
hedeflemiş bulunuyoruz...&lt;/font&gt;&lt;/strong&gt; M33 a &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; M33(); 
&lt;br&gt;
Yildiz b &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; Yildiz();
Console.WriteLine(a.ToString()); Console.WriteLine(b.ToString()); } } } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;namespace&lt;/span&gt; AndromedaM31SarmalGalaksi
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Yildiz
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;override&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; ToString()
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Andromeda
M31 Sarmal Galaksi"&lt;/span&gt;; } } } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;namespace&lt;/span&gt; M33SpiralGalaksi
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Yildiz
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;override&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; ToString()
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"M33
Spiral Galaksi"&lt;/span&gt;; } } }&lt;br&gt;
&lt;/span&gt;&lt;font face=Verdana&gt;&lt;font face=Verdana&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;
&lt;font face=Verdana&gt;Projenin çıktısı;&lt;/font&gt;&lt;font face=Verdana&gt;
&lt;br&gt;
&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&gt;&gt;&lt;img height=220 src="http://www.leventyildiz.net/content/binary/namespacecollution1.JPG" width=420 border=0&gt;
&lt;/p&gt;
&lt;p&gt;
şeklinde olacaktır.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Gelelim using'in farklı bir kullanımına...&lt;br&gt;
&lt;/strong&gt;MSDN der ki : &lt;u&gt;&lt;font color=#ff0000&gt;Defines a scope, outside of which an
object or objects will be disposed.&lt;/font&gt;&lt;/u&gt;
&lt;/p&gt;
&lt;p&gt;
Yani der ki using size, imlecin dışarı çıktığı anda using le yaratılan nesne veya
nesnelerin yokedileceği bir blok yaratmanızı sağlar.&lt;br&gt;
Unutmadan değinmek isterim using ile yaratılacak nesneler &lt;strong&gt;IDisposable&lt;/strong&gt; arayüzünü
uygulamış olmalıdırlar!&lt;br&gt;
&lt;br&gt;
using (nesne yaratma işlemi)&lt;br&gt;
{&lt;br&gt;
}&lt;br&gt;
//yarattığımız nesne imleç bu satıra gelince yok olacaktır.&lt;br&gt;
&lt;br&gt;
En güzel anlatım örnekli anlatımdır derler, hemen bir örnek yapalım.
&lt;/p&gt;
&lt;pre&gt;&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; C
: IDisposable { &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; UseLimitedResource()
{ Console.WriteLine(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Using
limited resource..."&lt;/span&gt;); } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; IDisposable.Dispose()
{ Console.WriteLine(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Disposing
limited resource."&lt;/span&gt;); } } &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Program
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; Main()
{ &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; (C
c &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; C())
{ c.UseLimitedResource(); } Console.WriteLine(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Now
outside using statement."&lt;/span&gt;); Console.ReadLine(); } } &lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;
Çıktıya bakalım;&lt;br&gt;
&lt;br&gt;
&lt;img style="WIDTH: 433px; HEIGHT: 239px" height=221 src="http://www.leventyildiz.net/content/binary/namespacecollution2.JPG" width=411 border=0&gt;
&lt;br&gt;
&lt;br&gt;
Evet tahmin ettiğimiz gibi; "Now outside using statement." mesajından önce imleç using
kod bloğundan çıktığı için otomatik olarak C sınıfının Dispose metodu çağırılmıştır.&lt;br&gt;
&lt;br&gt;
Alt tarafı using değil mi? :)&lt;br&gt;
Hayırlı kodlamalar...&lt;br&gt;
&lt;br&gt;
Kaynak:MSDN
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=78fe6653-2a6e-4c09-9ca7-2bf16fafe748" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,78fe6653-2a6e-4c09-9ca7-2bf16fafe748.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=6c7ca671-c492-4b3e-ae3c-f142a190c757</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,6c7ca671-c492-4b3e-ae3c-f142a190c757.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,6c7ca671-c492-4b3e-ae3c-f142a190c757.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=6c7ca671-c492-4b3e-ae3c-f142a190c757</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
using i bilirsiniz.<br />
using System.Data;<br />
using System.Configuration;<br />
....<br /><br />
bir de böyle deneyin ;<br /><span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"><br />
public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> InsertRow(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> connectionString, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> insertSQL)<br />
{<br />
    <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> (OleDbConnection
connection <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> OleDbConnection(connectionString))<br />
    {<br />
        <span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">//
The insertSQL string contains a SQL statement that</span><br />
        <span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">//
inserts a new row in the source table.</span><br />
        OleDbCommand command <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> OleDbCommand(insertSQL);<br /><br />
        <span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">//
Set the Connection to the new OleDbConnection.</span><br />
        command.Connection <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> connection;<br /><br />
        <span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">//
Open the connection and execute the insert command.</span><br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">try</span><br />
        {<br />
            connection.Open();<br />
            command.ExecuteNonQuery();<br />
        }<br />
        <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">catch</span> (Exception
ex)<br />
        {<br />
            Console.WriteLine(ex.Message);<br />
        }<br />
        <span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">//
The connection is automatically closed when the</span><br />
        <span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">//
code exits the using block.</span><br />
    }<br />
}<br /></span></p>
        <p>
Kullanım sonunda belirttiği gibi imleç using bloğundan çıktığı anda bağlantı kapatılacaktır.Bu
özelliği bana hatırlatan Emre arkadaşıma teşekkürü bir borç bilirim.<br /><br /></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=6c7ca671-c492-4b3e-ae3c-f142a190c757" />
      </body>
      <title>Bilinen komutlar - farklı kullanım yerleri - güzel sonuç</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,6c7ca671-c492-4b3e-ae3c-f142a190c757.aspx</guid>
      <link>http://www.leventyildiz.net/2007/12/30/BilinenKomutlarFarkl%c4%b1Kullan%c4%b1mYerleriG%c3%bczelSonu%c3%a7.aspx</link>
      <pubDate>Sun, 30 Dec 2007 19:23:54 GMT</pubDate>
      <description>&lt;p&gt;
using i bilirsiniz.&lt;br&gt;
using System.Data;&lt;br&gt;
using System.Configuration;&lt;br&gt;
....&lt;br&gt;
&lt;br&gt;
bir de böyle deneyin ;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;
&lt;br&gt;
public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; InsertRow(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; connectionString, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; insertSQL)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; (OleDbConnection
connection &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; OleDbConnection(connectionString))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//
The insertSQL string contains a SQL statement that&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//
inserts a new row in the source table.&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OleDbCommand command &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; OleDbCommand(insertSQL);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//
Set the Connection to the new OleDbConnection.&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command.Connection &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; connection;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//
Open the connection and execute the insert command.&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;try&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connection.Open();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command.ExecuteNonQuery();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;catch&lt;/span&gt; (Exception
ex)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(ex.Message);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//
The connection is automatically closed when the&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-SIZE: 11px; COLOR: green; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;//
code exits the using block.&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
Kullanım sonunda belirttiği gibi imleç using bloğundan çıktığı anda bağlantı kapatılacaktır.Bu
özelliği bana hatırlatan Emre arkadaşıma teşekkürü bir borç bilirim.&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=6c7ca671-c492-4b3e-ae3c-f142a190c757" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,6c7ca671-c492-4b3e-ae3c-f142a190c757.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=c496d2f1-d336-4655-9858-3ccd278eaa83</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,c496d2f1-d336-4655-9858-3ccd278eaa83.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,c496d2f1-d336-4655-9858-3ccd278eaa83.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c496d2f1-d336-4655-9858-3ccd278eaa83</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Evet yazılım sektörünün geleceğinde SaaS
büyük rol oynayacak.Bu konu üzerine daha çok yazı yazmayı planlıyorum fakat daha öncesinde
bu servisin ne tür bir platform üzerinde çalışması gerektiği hakkında bilgi vermek
istiyorum.<br /><br />
Software Service Provider olarak SaaS hizmeti vermeye başladığınızda bu hizmetin donanım
tarafının high availibility - yüksek erişim özelliğinin sağlanması kaçınılmaz olacaktır.Tabi
SaaS hizmeti verdiğiniz platformlar farklı olabilir, bazı SSP ler Ms platformunu bazıları
Linux platformunu seçecektir.Bazıları ise belki bu platformları birleştirip kullanacaktır.<br /><br />
Sonuç olarak SaaS için donanım problemlerinin sorun çıkarmayacağı bir çözüme ihtiyacınız
olacak.<br />
Bu konu üzerinde çok araştırma yaptım.Almanya SwSoft Virtuozzo, Us VirtualIron,VmWare,Paralells
en yakın iki çözüm VmWare ve VirtualIron.VmWare pastanın büyük çoğunluğuna sahip durumda
ve çok iyi bir ivme ile gelişmeye devam ediyor.VirtualIron'ın Intel tarafından büyük
desteği mevcut.Fakat VI'in Türkiye'de distribütörlüğü çok yeni.Deneyime ihtiyaçları
olduğu kesin.Vmware ise bu konuda Türkiye'de yoğun olarak çalışmış,sayısız projelere
imzasını atmış, hatta kendi bölgesindeki satışların %60'ı TR'den çıkmış durumdadır.<br /><br />
Sonuç olarak bu iki kavramın geleceğin teknolojisini şekillendireceği düşüncesindeyim.<br /><p><object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/qWf_WiaFedc" /><param name="wmode" value="transparent" /><embed src="http://www.youtube.com/v/qWf_WiaFedc" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"></embed></object></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=c496d2f1-d336-4655-9858-3ccd278eaa83" /></body>
      <title>SaaS &amp; Virtualization - bringing the software &amp; itsm into next level</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,c496d2f1-d336-4655-9858-3ccd278eaa83.aspx</guid>
      <link>http://www.leventyildiz.net/2007/07/13/SaaSVirtualizationBringingTheSoftwareItsmIntoNextLevel.aspx</link>
      <pubDate>Fri, 13 Jul 2007 14:04:42 GMT</pubDate>
      <description>Evet yazılım sektörünün geleceğinde SaaS büyük rol oynayacak.Bu konu üzerine daha çok yazı yazmayı planlıyorum fakat daha öncesinde bu servisin ne tür bir platform üzerinde çalışması gerektiği hakkında bilgi vermek istiyorum.&lt;br&gt;
&lt;br&gt;
Software Service Provider olarak SaaS hizmeti vermeye başladığınızda bu hizmetin donanım
tarafının high availibility - yüksek erişim özelliğinin sağlanması kaçınılmaz olacaktır.Tabi
SaaS hizmeti verdiğiniz platformlar farklı olabilir, bazı SSP ler Ms platformunu bazıları
Linux platformunu seçecektir.Bazıları ise belki bu platformları birleştirip kullanacaktır.&lt;br&gt;
&lt;br&gt;
Sonuç olarak SaaS için donanım problemlerinin sorun çıkarmayacağı bir çözüme ihtiyacınız
olacak.&lt;br&gt;
Bu konu üzerinde çok araştırma yaptım.Almanya SwSoft Virtuozzo, Us VirtualIron,VmWare,Paralells
en yakın iki çözüm VmWare ve VirtualIron.VmWare pastanın büyük çoğunluğuna sahip durumda
ve çok iyi bir ivme ile gelişmeye devam ediyor.VirtualIron'ın Intel tarafından büyük
desteği mevcut.Fakat VI'in Türkiye'de distribütörlüğü çok yeni.Deneyime ihtiyaçları
olduğu kesin.Vmware ise bu konuda Türkiye'de yoğun olarak çalışmış,sayısız projelere
imzasını atmış, hatta kendi bölgesindeki satışların %60'ı TR'den çıkmış durumdadır.&lt;br&gt;
&lt;br&gt;
Sonuç olarak bu iki kavramın geleceğin teknolojisini şekillendireceği düşüncesindeyim.&lt;br&gt;
&lt;p&gt;
&lt;object height="350" width="425"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/qWf_WiaFedc"&gt;
&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/qWf_WiaFedc" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=c496d2f1-d336-4655-9858-3ccd278eaa83" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,c496d2f1-d336-4655-9858-3ccd278eaa83.aspx</comments>
      <category>Internet</category>
      <category>Server Systems</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=15ed7ddc-abef-4a9b-83c6-1bdfc0f27127</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,15ed7ddc-abef-4a9b-83c6-1bdfc0f27127.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,15ed7ddc-abef-4a9b-83c6-1bdfc0f27127.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=15ed7ddc-abef-4a9b-83c6-1bdfc0f27127</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Yıllardır uygulanan yöntem.Firmalarla toplantı ayarla, teker teker görüş, ürünlerin
demolarını kullan, test et, kendi işletmene uyarla, analiz et, pazarlık et, hadi kullanmaya
başladın, yıllık bakım ücreti adı altında o firmanın hizmet vermeye devam edebilmesi
için pazarlama ve yönetim tarafından uydurulmuş ücretler öde.<br /><br />
Software 2007 konferansında Motorola, Fedex, Disney, Toyota CIO'larının (özellikle
Motorola :) ) tek dillendirdiği sorun.Bir yazılım ürünü alıyorsunuz, veya geliştiriyorsunuz
veya outsource ediyorsunuz, bug'larla dolu, bugları bulup düzeltip patch ve fix liyorsunuz,
dağıtımını sağlıyorsunuz.<br /><br />
Peki Software as a Service bütün bu sorunlara çözüm sunuyormu? Yazılım dünyasının
gideceği nokta hakkında yorum yapmak afaki konuşmalar olacaktır fakat bu yapı en azından
benim aklımda bir sürü proje uyandırıyor.<br /><br />
Gelelim dağınık sistemlere, Türkiye için konuşuyorum.Bir ülkenin en değerli varlıklarından
biri insan kaynağıdır.Bizde harcanan, bir köşede unutulmuş, alakasız işlerle hayatını
kazanmaya çalışan o kadar çok değerli insan mevcut ki, ben bu topluluğa dağınık sistemler
adını veriyorum ve ne yazıkki hala bu sistemleri bir araya getirecek, yönetecek bir
sistem mevcut değil, bu yönetimi gerçekleştirip bir yazılım ürünü ortaya koymuş başarılı
bir yapı mevcut değil.<br /><br />
Kaba tabiriyle;<br />
Dağınık sistemler = yatırımcı + yazılımcı + tekniker + sistemci<br /><br />
Neden bu dağınık sistemler bir araya getirilip bir saas başarısı sağlanamıyor?
</p>
        <p>
        </p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=15ed7ddc-abef-4a9b-83c6-1bdfc0f27127" />
      </body>
      <title>SaaS (Software as a service) ve Dağınık sistemler</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,15ed7ddc-abef-4a9b-83c6-1bdfc0f27127.aspx</guid>
      <link>http://www.leventyildiz.net/2007/07/07/SaaSSoftwareAsAServiceVeDa%c4%9f%c4%b1n%c4%b1kSistemler.aspx</link>
      <pubDate>Sat, 07 Jul 2007 22:30:31 GMT</pubDate>
      <description>&lt;p&gt;
Yıllardır uygulanan yöntem.Firmalarla toplantı ayarla, teker teker görüş, ürünlerin
demolarını kullan, test et, kendi işletmene uyarla, analiz et, pazarlık et, hadi kullanmaya
başladın, yıllık bakım ücreti adı altında o firmanın hizmet vermeye devam edebilmesi
için pazarlama ve yönetim tarafından uydurulmuş ücretler öde.&lt;br&gt;
&lt;br&gt;
Software 2007 konferansında Motorola, Fedex, Disney, Toyota CIO'larının (özellikle
Motorola :) ) tek dillendirdiği sorun.Bir yazılım ürünü alıyorsunuz, veya geliştiriyorsunuz
veya outsource ediyorsunuz, bug'larla dolu, bugları bulup düzeltip patch ve fix liyorsunuz,
dağıtımını sağlıyorsunuz.&lt;br&gt;
&lt;br&gt;
Peki Software as a Service bütün bu sorunlara çözüm sunuyormu? Yazılım dünyasının
gideceği nokta hakkında yorum yapmak afaki konuşmalar olacaktır fakat bu yapı en azından
benim aklımda bir sürü proje uyandırıyor.&lt;br&gt;
&lt;br&gt;
Gelelim dağınık sistemlere, Türkiye için konuşuyorum.Bir ülkenin en değerli varlıklarından
biri insan kaynağıdır.Bizde harcanan, bir köşede unutulmuş, alakasız işlerle hayatını
kazanmaya çalışan o kadar çok değerli insan mevcut ki, ben bu topluluğa dağınık sistemler
adını veriyorum ve ne yazıkki hala bu sistemleri bir araya getirecek, yönetecek bir
sistem mevcut değil, bu yönetimi gerçekleştirip bir yazılım ürünü ortaya koymuş başarılı
bir yapı mevcut değil.&lt;br&gt;
&lt;br&gt;
Kaba tabiriyle;&lt;br&gt;
Dağınık sistemler = yatırımcı + yazılımcı + tekniker + sistemci&lt;br&gt;
&lt;br&gt;
Neden bu dağınık sistemler bir araya getirilip bir saas başarısı sağlanamıyor?
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=15ed7ddc-abef-4a9b-83c6-1bdfc0f27127" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,15ed7ddc-abef-4a9b-83c6-1bdfc0f27127.aspx</comments>
      <category>Internet</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=e10db785-dafe-4df3-9c6c-90f302b0703e</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,e10db785-dafe-4df3-9c6c-90f302b0703e.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,e10db785-dafe-4df3-9c6c-90f302b0703e.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=e10db785-dafe-4df3-9c6c-90f302b0703e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Yok hayır.... Micorosoft, dos zamanında,
matrix etkisi yapan Another Day oyununu çıkartmıyor :P<br /><br />
Bugün Microsoft'un "non .net developer"'lara yönelik seminer/eğitim tarzında olan
event'ine katıldım.2005'de verdiğim <a href="http://www.ceturk.com/haberoku.asp?id=116" target="_blank">seminer</a> aklıma
geldi. Öğleye kadar olan bölüm aşağı yukarı aynı konuları içeriyordu.Fakat CLI-CLS
ve FCL konularına daha detaylı değinmeleri iyi olurdu diye düşünüyorum.Sonuç olarak
potansiyel .net developerlari mevcuttu.:)<br /><br />
Seminerin ikinci bölümünde Smart-Client ve .net 3.0 wpf presentation foundation hakkında
bilgi verildi.Açıkçası uzun süredir neden Ms bunu hala böyle yapıyor diye dır dır
yaptığım bir soruna cevap buldum.Sorun şöyle; Ms 2000 senesinde .net'i çıkartıyoruz
dediğinde, tamam artık uzun süre devam edecek bir yapı geliyor demiştim.Windows Forms
lar için bu böyle oldu.Tabiki her yeni sistemde yaşanan problemler yaşandı, sp ler
ve yeni sürümler çıktı fakat mevcut duruma bakıldığında yapı haddinden fazla oturmuş
gözüküyor.Fakat aynı şey Asp.net için geçerli değil.Evet asp.net son sürümü web programlama
için ideal ve çok basit ayrıca framework un gücüne sahip.Ama client tarafına bakıldığında
hala javascr kodu çalışıyor.Bu beni çok rahatsız ediyordu.<br /><br />
Sanırım Ms bunun için bir client dili yazmaktan vazgeçmiş, Smartclient+ClickOnce+Winforms+(Wpf'ye
ben Winforms+ diyorum :) ) birleşimiyle client tarafında hem .net dillerinin kullanılabilirliğini
sağlamış hem de wpf ile müthis efektler getirmiş durumda.Bu özelliklere clickonce
da eklendiğinde neredeyse artık bir web uygulamasına ihtiyacınız kalmıyor.Eğer client
tarafında kuvvetli bir arayüz ve gelişmiş kullanıcı arabirimi gerekiyorsa artık wpf
mevcut.Click once sayesinde güncellemeleri rahatça dağıtabiliyorsunuz.Evet web'e göre
biraz daha bandwidth kapsayacak bir teknoloji ama geri dönüşüne bakıldığında bence
kabul edilebilir bir fark.Çoğu önemli kuruluş bu konu ile ilgili ürünlerini tamamlamış
durumda.Aşağıda New York Times Reader dan bir scrshot mevcut...<br /><br /><img src="http://static.flickr.com/91/229990995_9704d185b2_m.jpg" border="0" height="183" width="240" /><br /><br /><p></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=e10db785-dafe-4df3-9c6c-90f302b0703e" /></body>
      <title>Another Day @ Microsoft</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,e10db785-dafe-4df3-9c6c-90f302b0703e.aspx</guid>
      <link>http://www.leventyildiz.net/2007/06/13/AnotherDayMicrosoft.aspx</link>
      <pubDate>Wed, 13 Jun 2007 13:56:33 GMT</pubDate>
      <description>Yok hayır.... Micorosoft, dos zamanında, matrix etkisi yapan Another Day oyununu çıkartmıyor :P&lt;br&gt;
&lt;br&gt;
Bugün Microsoft'un "non .net developer"'lara yönelik seminer/eğitim tarzında olan
event'ine katıldım.2005'de verdiğim &lt;a href="http://www.ceturk.com/haberoku.asp?id=116" target="_blank"&gt;seminer&lt;/a&gt; aklıma
geldi. Öğleye kadar olan bölüm aşağı yukarı aynı konuları içeriyordu.Fakat CLI-CLS
ve FCL konularına daha detaylı değinmeleri iyi olurdu diye düşünüyorum.Sonuç olarak
potansiyel .net developerlari mevcuttu.:)&lt;br&gt;
&lt;br&gt;
Seminerin ikinci bölümünde Smart-Client ve .net 3.0 wpf presentation foundation hakkında
bilgi verildi.Açıkçası uzun süredir neden Ms bunu hala böyle yapıyor diye dır dır
yaptığım bir soruna cevap buldum.Sorun şöyle; Ms 2000 senesinde .net'i çıkartıyoruz
dediğinde, tamam artık uzun süre devam edecek bir yapı geliyor demiştim.Windows Forms
lar için bu böyle oldu.Tabiki her yeni sistemde yaşanan problemler yaşandı, sp ler
ve yeni sürümler çıktı fakat mevcut duruma bakıldığında yapı haddinden fazla oturmuş
gözüküyor.Fakat aynı şey Asp.net için geçerli değil.Evet asp.net son sürümü web programlama
için ideal ve çok basit ayrıca framework un gücüne sahip.Ama client tarafına bakıldığında
hala javascr kodu çalışıyor.Bu beni çok rahatsız ediyordu.&lt;br&gt;
&lt;br&gt;
Sanırım Ms bunun için bir client dili yazmaktan vazgeçmiş, Smartclient+ClickOnce+Winforms+(Wpf'ye
ben Winforms+ diyorum :) ) birleşimiyle client tarafında hem .net dillerinin kullanılabilirliğini
sağlamış hem de wpf ile müthis efektler getirmiş durumda.Bu özelliklere clickonce
da eklendiğinde neredeyse artık bir web uygulamasına ihtiyacınız kalmıyor.Eğer client
tarafında kuvvetli bir arayüz ve gelişmiş kullanıcı arabirimi gerekiyorsa artık wpf
mevcut.Click once sayesinde güncellemeleri rahatça dağıtabiliyorsunuz.Evet web'e göre
biraz daha bandwidth kapsayacak bir teknoloji ama geri dönüşüne bakıldığında bence
kabul edilebilir bir fark.Çoğu önemli kuruluş bu konu ile ilgili ürünlerini tamamlamış
durumda.Aşağıda New York Times Reader dan bir scrshot mevcut...&lt;br&gt;
&lt;br&gt;
&lt;img src="http://static.flickr.com/91/229990995_9704d185b2_m.jpg" border="0" height="183" width="240"&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=e10db785-dafe-4df3-9c6c-90f302b0703e" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,e10db785-dafe-4df3-9c6c-90f302b0703e.aspx</comments>
      <category>Genel</category>
      <category>Internet</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">Uzun zaman önce yazıp hdd de unuttuğum
bir makale...<br /><br /><br /><p></p><p><font face="MS Sans Serif" size="2">Tüm yazılımcı arkadaşlara selamlar,<br /><br />
Bu makalemde C# ile Microsoft Outlook contact bilgilerinin nasıl okunacağına değineceğim.</font></p><p><font face="MS Sans Serif" size="2">Geliştirdiğimiz uygulamaların çoğunda kullanıcıların
hali hazırda sistemlerinde mevcut olan bilgilerini almamız gerekir.Bu mevcut bilgileri
mevcut kaynaklardan okumak yerine kendi geliştirdiğimiz yazılımlarda tutmak hem kullanıcı
hem de biz programcılar için zor olacaktır.Örnek olarak geliştirdiğimiz uygulamada
kullanıcının bir raporu fax olarak göndermesi gerekebilir.Eğer 3rd party fax araçları
kullanıyorsak gönderim işlemlerini kod ile halletmemiz gerekebilir.Bu gibi durumlarda
kullanıcılardan fax gönderimi için ayrı bir veritabanı veya kayıt bölümü oluşturmak
hem kullanıcıların birden fazla kaynağa veri girmesini hem de bizim fazladan kodlama
yapmamızı gerektirir.<br /><br />
Kullanıcıların contact bilgilerini mevcut olarak kullandıkları Microsoft Outlook uygulamasından
okumamız hem kullanıcı için kolaylık sağlayacaktır hem de bizim daha az kod yazmamızı.</font></p><p><font face="MS Sans Serif" size="2">Yeni bir windows uygulaması açın ve formun üzerine
bir button ve bir listview nesnesi yerleştirin.<br />
Solution Explorer çerçevesi yardımıyla projeye "Microsoft Outlook 11.0 Object
Library" COM bileşenini ekleyin.<br /><br />
Projemize Outlook Contact bilgilerini okuma işlemini gerçekleştireceğimiz MyOutlookIntegration
ismiyle yeni bir sınıf ekleyin.<br />
Sınıfımıza IDisposeable arayüzünü entegre edelim.<br /><br />
Outlook Contact bilgilerine erişmek için 3 arayüz tanımlayacağız.Bu tanımlama işlemini
sınıf etki alanında gerçekleştirelim ki sınıf'a ait metodlarda bu nesnelere erişimimiz
mümkün olsun.<br /><br /></font><font size="2" face="Courier New">private Microsoft.Office.Interop.Outlook.Application
objOutlook = null;<br />
private Microsoft.Office.Interop.Outlook.NameSpace objNamespace = null;<br />
private Microsoft.Office.Interop.Outlook.MAPIFolder objFolder = null;</font><font face="MS Sans Serif" size="2"><br /><br />
Application arayüzü Microsoft Outlook uygulamasını temsil edecektir.<br />
NameSpace arayüzü Outlook uygulamasında bulunan MAPI alanına erişmemizi sağlayacaktır.<br />
MAPIFolder arayüzü ise Contact klasörünü temsil edecektir.<br /><br />
objOutlook ve objNameSpace nesnelerini sınıfımızın yapıcı metodunda yaratacağız.<br /></font><font size="2" face="Courier New"><br />
public MyOutlookIntegration()<br />
{<br />
    objOutlook = new Microsoft.Office.Interop.Outlook.ApplicationClass();<br />
    objNamespace = objOutlook.GetNamespace("MAPI");<br />
}<br /></font><font face="MS Sans Serif" size="2"><br />
Sınıfımıza GetContacts ismiyle bir metod ekleyeceğiz.Bu metod objFolder nesnemize
objNamespace nesnesini kullanarak Contacts klasörünü atayacaktır.Bu sayede objFolder
nesnemizde artık Contact bilgileri mevcut olacaktır.Ardından bu itemları okuyarak
bir arraylist sınıfına aktaracağız ve geri dönüş değeri olarak bu arraylist sınıfını
göndereceğiz.<br /><br /></font><font size="2" face="Courier New">public ArrayList GetContacts()<br />
{<br />
    ArrayList lstContacts = new ArrayList();<br /><br />
    Microsoft.Office.Interop.Outlook.ContactItem item;<br />
    try<br />
    {<br />
        objFolder = objNamespace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);<br />
        System.Collections.IEnumerator MsgEnum
= objFolder.Items.GetEnumerator();<br />
        while (MsgEnum.MoveNext())<br />
        {<br />
            item = (Microsoft.Office.Interop.Outlook.ContactItem)MsgEnum.Current;<br />
            lstContacts.Add(item);<br />
        }<br />
    }<br />
    catch (System.Exception e)<br />
    {<br />
        throw(new Exception("MyOutlookIntegration
Error",e));<br />
    }<br />
    return lstContacts;<br />
}</font><font face="MS Sans Serif" size="2"><br /><br />
COM bileşenleri ile Office uygulamaları entegrasyon işlemlerinde en fazla karşılaşılan
problemlerden bir tanesi de, üzerinde çalıştığımız Office uygulamasının yazdığımız
kodun işlemlerinin sonlanmasına rağmen sistemde çalışır durumda kalması ve uygulamamızın
bu işlemi tekrarlaması sonucunda Office uygulamasının process lerinin çoğalmasıdır.Bu
problemlerden dolayı çoğu zaman performans sorunları yaşanır veya kullanıcının normal
Office uygulamalarını kullanımını etkiler.Bunu engellemek için Application arayüzü
ile yarattığımız objOutlook nesnesinin Quit metodu sınıfımız sonlandığında çalışmalıdır.IDisposable
arayüzünden türettiğimiz sınıfımızın Dispose metodunu kullanarak bu işlemi gerçekleştirebiliriz.<br /><br /></font><font size="2" face="Courier New">public void Dispose()<br />
{<br />
    if (objOutlook != null) objOutlook.Quit();<br />
}</font><font face="MS Sans Serif" size="2"><br /><br />
Şimdi yarattığımız sınıfı test edelim.Form1 üzerine yerleştirdiğimiz button1 nesnesinin
click olayına aşağıdaki kodu yazalım.<br /><br /></font><font size="2" face="Courier New">private void button1_Click(object sender,
EventArgs e)<br />
{<br />
    <font color="#FF0000">MyOutlookIntegration MyOutlook = new MyOutlookIntegration();<br />
    ArrayList lstContacts= MyOutlook.GetContacts();</font><br /><br />
    lvFill.View = View.Details; <br />
    lvFill.Clear();<br />
    lvFill.Columns.Clear();<br />
    lvFill.Columns.Add("İsim");<br />
    lvFill.Columns.Add("Soyisim");<br />
    lvFill.Columns.Add("İş fax numarası");<br />
    lvFill.Columns.Add("Ev fax numarası");<br />
    lvFill.Columns.Add("Diğer fax numarası");<br />
    lvFill.Columns.Add("Şirket ismi");<br />
    lvFill.Columns.Add("Email adresi");<br />
    lvFill.Columns.Add("Ev telefonu");<br />
    lvFill.Columns.Add("İş telefonu");<br /><br />
    foreach (Microsoft.Office.Interop.Outlook.ContactItem item in lstContacts)<br />
    {<br />
        ListViewItem lvFillItem = new ListViewItem(new
string[] { <br />
            item.FirstName,<br />
            item.LastName,<br />
            item.BusinessFaxNumber,<br />
            item.HomeFaxNumber,<br />
            item.OtherFaxNumber,<br />
            item.CompanyName,<br />
            item.Email1Address,<br />
            item.HomeTelephoneNumber,<br />
            item.BusinessTelephoneNumber<br />
            });<br />
        lvFill.Items.Add(lvFillItem);<br />
    }<br />
}</font><font face="MS Sans Serif" size="2"><br /><br />
Projemizi çalıştırıp test edelim.<br /><br /><br />
Evet gördüğünüz gibi yarattığımız sınıfla artık Outlook contact bilgilerini okuyabiliyor
ve uygulamalarımızda kullanabiliyoruz.<br /><br />
Microsoft.Office.Interop.Outlook.ContactItem nesnesinde isim,soyisim,iş fax numarası,ev
fax numarası,Diğer fax numarası,şirket ismi,email adresi,ev telefonu,iş telefonu bilgilerine
ek olarak Outlook contact bilgilerinde bulunan diğer bilgiler de mevcuttur.Bu örnekte
yeterli olacağını düşündüklerimi uyguladım.Siz kendi uygulamalarınızda diğer alanları
da kullanabilirsiniz.<br /><br /></font><font face="MS Sans Serif" size="2"> Evet bir makalenin daha sonuna geldik.Umarım
yararlı olmuştur.<br />
Hepinize mutlu günler dilerim. <br /><br />
Levent YILDIZ<br /><a href="mailto:theone@leventyildiz.net">theone@leventyildiz.net</a><br /><a href="mailto:msmoracle@hotmail.com">msmoracle@hotmail.com</a> <br /><a href="http://www.leventyildiz.net/">http://www.leventyildiz.net</a></font></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43" /></body>
      <title>Yazıp kenara attığım bir makale...</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43.aspx</guid>
      <link>http://www.leventyildiz.net/2007/06/13/Yaz%c4%b1pKenaraAtt%c4%b1%c4%9f%c4%b1mBirMakale.aspx</link>
      <pubDate>Wed, 13 Jun 2007 05:48:54 GMT</pubDate>
      <description>Uzun zaman önce yazıp hdd de unuttuğum bir makale...&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="MS Sans Serif" size="2"&gt;Tüm yazılımcı arkadaşlara selamlar,&lt;br&gt;
&lt;br&gt;
Bu makalemde C# ile Microsoft Outlook contact bilgilerinin nasıl okunacağına değineceğim.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="MS Sans Serif" size="2"&gt;Geliştirdiğimiz uygulamaların çoğunda kullanıcıların
hali hazırda sistemlerinde mevcut olan bilgilerini almamız gerekir.Bu mevcut bilgileri
mevcut kaynaklardan okumak yerine kendi geliştirdiğimiz yazılımlarda tutmak hem kullanıcı
hem de biz programcılar için zor olacaktır.Örnek olarak geliştirdiğimiz uygulamada
kullanıcının bir raporu fax olarak göndermesi gerekebilir.Eğer 3rd party fax araçları
kullanıyorsak gönderim işlemlerini kod ile halletmemiz gerekebilir.Bu gibi durumlarda
kullanıcılardan fax gönderimi için ayrı bir veritabanı veya kayıt bölümü oluşturmak
hem kullanıcıların birden fazla kaynağa veri girmesini hem de bizim fazladan kodlama
yapmamızı gerektirir.&lt;br&gt;
&lt;br&gt;
Kullanıcıların contact bilgilerini mevcut olarak kullandıkları Microsoft Outlook uygulamasından
okumamız hem kullanıcı için kolaylık sağlayacaktır hem de bizim daha az kod yazmamızı.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font face="MS Sans Serif" size="2"&gt;Yeni bir windows uygulaması açın ve formun üzerine
bir button ve bir listview nesnesi yerleştirin.&lt;br&gt;
Solution Explorer çerçevesi yardımıyla projeye &amp;quot;Microsoft Outlook 11.0 Object
Library&amp;quot; COM bileşenini ekleyin.&lt;br&gt;
&lt;br&gt;
Projemize Outlook Contact bilgilerini okuma işlemini gerçekleştireceğimiz MyOutlookIntegration
ismiyle yeni bir sınıf ekleyin.&lt;br&gt;
Sınıfımıza IDisposeable arayüzünü entegre edelim.&lt;br&gt;
&lt;br&gt;
Outlook Contact bilgilerine erişmek için 3 arayüz tanımlayacağız.Bu tanımlama işlemini
sınıf etki alanında gerçekleştirelim ki sınıf'a ait metodlarda bu nesnelere erişimimiz
mümkün olsun.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font size="2" face="Courier New"&gt;private Microsoft.Office.Interop.Outlook.Application
objOutlook = null;&lt;br&gt;
private Microsoft.Office.Interop.Outlook.NameSpace objNamespace = null;&lt;br&gt;
private Microsoft.Office.Interop.Outlook.MAPIFolder objFolder = null;&lt;/font&gt;&lt;font face="MS Sans Serif" size="2"&gt;
&lt;br&gt;
&lt;br&gt;
Application arayüzü Microsoft Outlook uygulamasını temsil edecektir.&lt;br&gt;
NameSpace arayüzü Outlook uygulamasında bulunan MAPI alanına erişmemizi sağlayacaktır.&lt;br&gt;
MAPIFolder arayüzü ise Contact klasörünü temsil edecektir.&lt;br&gt;
&lt;br&gt;
objOutlook ve objNameSpace nesnelerini sınıfımızın yapıcı metodunda yaratacağız.&lt;br&gt;
&lt;/font&gt;&lt;font size="2" face="Courier New"&gt;
&lt;br&gt;
public MyOutlookIntegration()&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; objOutlook = new Microsoft.Office.Interop.Outlook.ApplicationClass();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; objNamespace = objOutlook.GetNamespace("MAPI");&lt;br&gt;
}&lt;br&gt;
&lt;/font&gt;&lt;font face="MS Sans Serif" size="2"&gt;
&lt;br&gt;
Sınıfımıza GetContacts ismiyle bir metod ekleyeceğiz.Bu metod objFolder nesnemize
objNamespace nesnesini kullanarak Contacts klasörünü atayacaktır.Bu sayede objFolder
nesnemizde artık Contact bilgileri mevcut olacaktır.Ardından bu itemları okuyarak
bir arraylist sınıfına aktaracağız ve geri dönüş değeri olarak bu arraylist sınıfını
göndereceğiz.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font size="2" face="Courier New"&gt;public ArrayList GetContacts()&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArrayList lstContacts = new ArrayList();&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Microsoft.Office.Interop.Outlook.ContactItem item;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objFolder = objNamespace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Collections.IEnumerator MsgEnum
= objFolder.Items.GetEnumerator();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (MsgEnum.MoveNext())&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item = (Microsoft.Office.Interop.Outlook.ContactItem)MsgEnum.Current;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lstContacts.Add(item);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (System.Exception e)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw(new Exception("MyOutlookIntegration
Error",e));&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return lstContacts;&lt;br&gt;
}&lt;/font&gt;&lt;font face="MS Sans Serif" size="2"&gt;
&lt;br&gt;
&lt;br&gt;
COM bileşenleri ile Office uygulamaları entegrasyon işlemlerinde en fazla karşılaşılan
problemlerden bir tanesi de, üzerinde çalıştığımız Office uygulamasının yazdığımız
kodun işlemlerinin sonlanmasına rağmen sistemde çalışır durumda kalması ve uygulamamızın
bu işlemi tekrarlaması sonucunda Office uygulamasının process lerinin çoğalmasıdır.Bu
problemlerden dolayı çoğu zaman performans sorunları yaşanır veya kullanıcının normal
Office uygulamalarını kullanımını etkiler.Bunu engellemek için Application arayüzü
ile yarattığımız objOutlook nesnesinin Quit metodu sınıfımız sonlandığında çalışmalıdır.IDisposable
arayüzünden türettiğimiz sınıfımızın Dispose metodunu kullanarak bu işlemi gerçekleştirebiliriz.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font size="2" face="Courier New"&gt;public void Dispose()&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (objOutlook != null) objOutlook.Quit();&lt;br&gt;
}&lt;/font&gt;&lt;font face="MS Sans Serif" size="2"&gt;
&lt;br&gt;
&lt;br&gt;
Şimdi yarattığımız sınıfı test edelim.Form1 üzerine yerleştirdiğimiz button1 nesnesinin
click olayına aşağıdaki kodu yazalım.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font size="2" face="Courier New"&gt;private void button1_Click(object sender,
EventArgs e)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#FF0000"&gt;MyOutlookIntegration MyOutlook = new MyOutlookIntegration();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; ArrayList lstContacts= MyOutlook.GetContacts();&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.View = View.Details;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Clear();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Clear();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("İsim");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("Soyisim");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("İş fax numarası");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("Ev fax numarası");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("Diğer fax numarası");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("Şirket ismi");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("Email adresi");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("Ev telefonu");&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Columns.Add("İş telefonu");&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (Microsoft.Office.Interop.Outlook.ContactItem item in lstContacts)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ListViewItem lvFillItem = new ListViewItem(new
string[] {&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.FirstName,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.LastName,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.BusinessFaxNumber,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.HomeFaxNumber,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.OtherFaxNumber,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.CompanyName,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.Email1Address,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.HomeTelephoneNumber,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item.BusinessTelephoneNumber&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lvFill.Items.Add(lvFillItem);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/font&gt;&lt;font face="MS Sans Serif" size="2"&gt;
&lt;br&gt;
&lt;br&gt;
Projemizi çalıştırıp test edelim.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Evet gördüğünüz gibi yarattığımız sınıfla artık Outlook contact bilgilerini okuyabiliyor
ve uygulamalarımızda kullanabiliyoruz.&lt;br&gt;
&lt;br&gt;
Microsoft.Office.Interop.Outlook.ContactItem nesnesinde isim,soyisim,iş fax numarası,ev
fax numarası,Diğer fax numarası,şirket ismi,email adresi,ev telefonu,iş telefonu bilgilerine
ek olarak Outlook contact bilgilerinde bulunan diğer bilgiler de mevcuttur.Bu örnekte
yeterli olacağını düşündüklerimi uyguladım.Siz kendi uygulamalarınızda diğer alanları
da kullanabilirsiniz.&lt;br&gt;
&lt;br&gt;
&lt;/font&gt;&lt;font face="MS Sans Serif" size="2"&gt; Evet bir makalenin daha sonuna geldik.Umarım
yararlı olmuştur.&lt;br&gt;
Hepinize mutlu günler dilerim.&amp;nbsp;&lt;br&gt;
&lt;br&gt;
Levent YILDIZ&lt;br&gt;
&lt;a href="mailto:theone@leventyildiz.net"&gt;theone@leventyildiz.net&lt;/a&gt; 
&lt;br&gt;
&lt;a href="mailto:msmoracle@hotmail.com"&gt;msmoracle@hotmail.com&lt;/a&gt;&amp;nbsp;&lt;br&gt;
&lt;a href="http://www.leventyildiz.net/"&gt;http://www.leventyildiz.net&lt;/a&gt; &lt;/font&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,73ef5df8-9201-4bd0-8fe9-c1f68bbf6d43.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=085416e3-f70a-463d-ae02-0863f504c3ed</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,085416e3-f70a-463d-ae02-0863f504c3ed.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,085416e3-f70a-463d-ae02-0863f504c3ed.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=085416e3-f70a-463d-ae02-0863f504c3ed</wfw:commentRss>
      <title>CeTURK .net &amp; mobil teknolojiler semineri</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,085416e3-f70a-463d-ae02-0863f504c3ed.aspx</guid>
      <link>http://www.leventyildiz.net/2007/06/12/CeTURKNetMobilTeknolojilerSemineri.aspx</link>
      <pubDate>Tue, 12 Jun 2007 14:28:49 GMT</pubDate>
      <description>&lt;br&gt;
&lt;table width="90%" border="0" align="center" cellpadding="6"&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;a href="http://www.ceturk.com/etkinlikkayit.asp?id=26" target="_blank"&gt;
&lt;br /&gt;
&lt;img src="http://www.ceturk.com/images/Etkinlik/ceturk_bilisim.gif" width="125" height="200"border="0"&gt;&lt;/a&gt; 
&lt;/td&gt;
&lt;td align="left" valign="top"&gt;
&lt;p align="center"&gt;
&lt;strong&gt;&lt;font color="#990000" size="2" face="Verdana, Arial, Helvetica, sans-serif"&gt;.NET
ve MOBİL TEKNOLOJİLER SEMİNERİ &lt;/font&gt;&lt;/strong&gt;
&lt;/p&gt;
&lt;div&gt;&lt;font size="2" face="Verdana, Arial, Helvetica, sans-serif"&gt; &lt;/font&gt; 
&lt;div&gt;&lt;font size="2" face="Verdana, Arial, Helvetica, sans-serif"&gt; &lt;/font&gt; 
&lt;div&gt;&lt;font size="2" face="Verdana, Arial, Helvetica, sans-serif"&gt;CETURK, Mayıs ayının
konusuna uygun olarak &lt;strong&gt;.NET ve MOBİL TEKNOLOJİLER&lt;/strong&gt; konulu bir seminer
gerçekleştiriyor. Katılımın ücretsiz olduğu seminer, 16 Haziran Cumartesi günü 13:00-15:00
saatleri arasında Microsoft Türkiye İstanbul ofisinde gerçekleştirilecektir.&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif" size="2"&gt;&lt;strong&gt;Konuşmacı
:Mobile Device MVP &lt;a href="http://www.eralperat.com/" target="_blank"&gt;ERALP ERALT &lt;/a&gt;
&lt;br /&gt;
Seminer Yeri :&lt;/strong&gt;
&lt;br /&gt;
Microsoft İstanbul Ofisi&lt;br /&gt;
Barbaros Plaza 145-C, Dikilitaş&lt;br /&gt;
34349 İstanbul&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Kayıt olmak için :&lt;/strong&gt; &lt;/font&gt;&lt;a href="http://www.ceturk.com/etkinlikkayit.asp?id=26" target="_blank"&gt;http://www.ceturk.com/etkinlikkayit.asp?id=26 &lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;font size="2" face="Verdana, Arial, Helvetica, sans-serif"&gt; &gt;
&lt;br /&gt;
&lt;/font&gt;&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=085416e3-f70a-463d-ae02-0863f504c3ed" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,085416e3-f70a-463d-ae02-0863f504c3ed.aspx</comments>
      <category>Genel</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=d99c2111-505d-432e-830c-336c57a76465</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,d99c2111-505d-432e-830c-336c57a76465.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,d99c2111-505d-432e-830c-336c57a76465.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=d99c2111-505d-432e-830c-336c57a76465</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <br />
        <p>
          <object width="425" height="350">
            <param name="movie" value="http://www.youtube.com/v/q4atCdKQ6gE" />
            <param name="wmode" value="transparent" />
            <embed src="http://www.youtube.com/v/q4atCdKQ6gE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350">
            </embed>
          </object>
        </p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=d99c2111-505d-432e-830c-336c57a76465" />
      </body>
      <title>Hattat @ Youtube</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,d99c2111-505d-432e-830c-336c57a76465.aspx</guid>
      <link>http://www.leventyildiz.net/2007/06/10/HattatYoutube.aspx</link>
      <pubDate>Sun, 10 Jun 2007 16:56:49 GMT</pubDate>
      <description>&lt;br&gt;
&lt;p&gt;
&lt;object width="425" height="350"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/q4atCdKQ6gE"&gt;&gt;
&lt;param name="wmode" value="transparent"&gt;&gt;&lt;embed src="http://www.youtube.com/v/q4atCdKQ6gE" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=d99c2111-505d-432e-830c-336c57a76465" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,d99c2111-505d-432e-830c-336c57a76465.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=8b0a48ad-fad0-4a01-aa20-47b29901b732</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,8b0a48ad-fad0-4a01-aa20-47b29901b732.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,8b0a48ad-fad0-4a01-aa20-47b29901b732.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=8b0a48ad-fad0-4a01-aa20-47b29901b732</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Herkese matrix yaklaşıyor, matrix gerçek olacak dediğimde, ha ha ha diyorlardı bana...<br />
Matrix 2'de, Nebuchadnezzar'ın Zion'a ilk girişinde, kapı kontrolörleri local
bir matrix'e bağlıydı, bilgisayar kullanıyorlardı ve klavyeleri yoktu...<br /><br /><img src="http://www.leventyildiz.net/content/binary/reloaded_033.jpg" border="0" /><br /><br />
bana çok benzer geldi...<br /><br /><object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/7WIkrQu0-v0" /><param name="wmode" value="transparent" /><embed src="http://www.youtube.com/v/7WIkrQu0-v0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=8b0a48ad-fad0-4a01-aa20-47b29901b732" />
      </body>
      <title>Matrix e 5 kala</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,8b0a48ad-fad0-4a01-aa20-47b29901b732.aspx</guid>
      <link>http://www.leventyildiz.net/2007/06/02/MatrixE5Kala.aspx</link>
      <pubDate>Sat, 02 Jun 2007 19:21:12 GMT</pubDate>
      <description>&lt;p&gt;
Herkese matrix yaklaşıyor, matrix gerçek olacak dediğimde, ha ha ha diyorlardı bana...&lt;br&gt;
Matrix 2'de, Nebuchadnezzar'ın Zion'a ilk girişinde,&amp;nbsp;kapı kontrolörleri local
bir matrix'e bağlıydı, bilgisayar kullanıyorlardı ve klavyeleri yoktu...&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/reloaded_033.jpg" border=0&gt;
&lt;br&gt;
&lt;br&gt;
bana çok benzer geldi...&lt;br&gt;
&lt;br&gt;
&lt;object height=350 width=425&gt;
&lt;param name="movie" value="http://www.youtube.com/v/7WIkrQu0-v0"&gt;
&lt;param name="wmode" value="transparent"&gt;
&lt;embed src="http://www.youtube.com/v/7WIkrQu0-v0" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=8b0a48ad-fad0-4a01-aa20-47b29901b732" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,8b0a48ad-fad0-4a01-aa20-47b29901b732.aspx</comments>
      <category>Genel</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=025a255d-54b2-40d7-ba86-2d267d318386</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,025a255d-54b2-40d7-ba86-2d267d318386.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,025a255d-54b2-40d7-ba86-2d267d318386.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=025a255d-54b2-40d7-ba86-2d267d318386</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://www.csharpnedir.com/netvideo.asp">http://www.csharpnedir.com/netvideo.asp</a> linkinde
bulunan <strong><font color="#ff0000">Derinlemesine GridView &amp; DetailsView </font></strong>görsel
dersim hakkında Fatih arkadaşımızın sorusu:<br /><u>Benim anlamadığım bir nokta var: SP içinde id değerini kullanıyoruz oysaki en başta
DataBind işlemini gerçekleştirirken bu kolonu remove etmiştik.<br /></u><br />
Evet Id kolonunu gridview üzerinde remove ettik ve id boundfield'larda gözükmüyor,
fakat Gridview'un DataKeyNames özelliğine id kolonu atanmıştır.Dolayısı ile id
alanı değeri gridview tarafından halen tutulmaktadır.Bu alana , (virgül) ayracı ile
birden fazla kolon ismi atayabilirsiniz...<br /><br />
Umarım açıklayıcı olmuştur.
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=025a255d-54b2-40d7-ba86-2d267d318386" />
      </body>
      <title>Fatih Kerim arkadaşımızın sorusu</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,025a255d-54b2-40d7-ba86-2d267d318386.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/30/FatihKerimArkada%c5%9f%c4%b1m%c4%b1z%c4%b1nSorusu.aspx</link>
      <pubDate>Wed, 30 May 2007 05:13:56 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://www.csharpnedir.com/netvideo.asp"&gt;http://www.csharpnedir.com/netvideo.asp&lt;/a&gt;&amp;nbsp;linkinde
bulunan&amp;nbsp;&lt;strong&gt;&lt;font color=#ff0000&gt;Derinlemesine GridView &amp;amp; DetailsView&amp;nbsp;&lt;/font&gt;&lt;/strong&gt;görsel
dersim hakkında Fatih arkadaşımızın sorusu:&lt;br&gt;
&lt;u&gt;Benim anlamadığım bir nokta var: SP içinde id değerini kullanıyoruz oysaki en başta
DataBind işlemini gerçekleştirirken bu kolonu remove etmiştik.&lt;br&gt;
&lt;/u&gt;
&lt;br&gt;
Evet Id kolonunu gridview üzerinde&amp;nbsp;remove ettik ve id boundfield'larda gözükmüyor,
fakat Gridview'un DataKeyNames özelliğine&amp;nbsp;id kolonu atanmıştır.Dolayısı ile id
alanı değeri gridview tarafından halen tutulmaktadır.Bu alana , (virgül) ayracı ile
birden fazla kolon ismi atayabilirsiniz...&lt;br&gt;
&lt;br&gt;
Umarım açıklayıcı olmuştur.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=025a255d-54b2-40d7-ba86-2d267d318386" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,025a255d-54b2-40d7-ba86-2d267d318386.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=d99d436e-d21b-4f42-9661-df778fb16d1f</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,d99d436e-d21b-4f42-9661-df778fb16d1f.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,d99d436e-d21b-4f42-9661-df778fb16d1f.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=d99d436e-d21b-4f42-9661-df778fb16d1f</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
BHO nedir ilk önce bunu açıklayalım.Browser Helper Object, işletim sisteminde Browser
görevini üstlenmiş bileşenler üzerinde çalışmak için tasarlanmış eklentilerdir.Internet
Explorer 'a yazılan eklentiler iyi bir BHO örneği olacaktır.
</p>
        <p>
BHO objemiz IObjectWithSite arayüzünden türemelidir.Bu arayüzün SetSite ve GetSite
isminde iki metodu mevcuttur.İlk önce bu arayüzü gözden geçirelim.
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Runtime.InteropServices;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">namespace</span> MyBHO<br />
{<br />
[ComVisible(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>),<br />
Guid(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"FC4801A3-2BA9-11CF-A229-00AA003D7352"</span>),<br />
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">interface</span> IObjectWithSite<br />
{<br />
[PreserveSig]<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> SetSite([MarshalAs(UnmanagedType.IUnknown)]<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> site);<br />
[PreserveSig]<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> GetSite(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span> Guid
guid, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">out</span> IntPtr
ppvSite);<br />
}<br />
}<br /></span>
          <br />
IE herhangi bir browser kontrolü oluşturduğunda SetSite çalışacak ve biz de gerekli
nesneleri burada atayacağız.<br />
Şimdi IObjectWithSite arayüzünden türeyen MyBHO sınıfımızı inceleyelim.
</p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Collections.Generic;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Text;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Runtime.InteropServices;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> Microsoft.Win32;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> SHDocVw;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">namespace</span> MyBHO<br />
{<br />
[ComVisible(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>),<br />
ClassInterface(ClassInterfaceType.None)]<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> MyBHO
: IObjectWithSite<br />
{<br />
WebBrowser webBrowser;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span> MyBHO()<br />
{<br />
}<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> BHOKEYNAME <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser
Helper Objects"</span>;<br /><br />
[ComRegisterFunction]<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> RegisterBHO(Type
t)<br />
{<br />
RegistryKey key <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Registry.LocalMachine.OpenSubKey(BHOKEYNAME, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>);<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (key
== <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
key <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Registry.LocalMachine.CreateSubKey(BHOKEYNAME);<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> guidString <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> t.GUID.ToString(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"B"</span>);<br />
RegistryKey bhoKey <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> key.OpenSubKey(guidString);<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (bhoKey
== <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
bhoKey <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> key.CreateSubKey(guidString);<br /><br />
key.Close();<br />
bhoKey.Close();<br />
}<br /><br />
[ComUnregisterFunction]<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> UnregisterBHO(Type
t)<br />
{<br />
RegistryKey key <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Registry.LocalMachine.OpenSubKey(BHOKEYNAME, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>);<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> guidString <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> t.GUID.ToString(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"B"</span>);<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (key
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
key.DeleteSubKey(guidString, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">false</span>);<br />
}<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> webBrowser_BeforeNavigate2(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> pDisp, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> Url,<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> Flags, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> TargetFrameName, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> PostData,<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> Headers, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">bool</span> Cancel)<br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> _Url <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>)Url;<br />
Uri _uri <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> Uri(_Url);<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (_uri.Host
== <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"www.leventyildiz.net"</span>)<br />
{<br />
Cancel <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>;<br />
System.Windows.Forms.MessageBox.Show(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Bu
siteye çıkamazsınız"</span>); 
<br />
}<br />
}<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">#region</span> IObjectWithSite
Members<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> SetSite(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> site)<br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (site
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
{<br />
webBrowser <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (WebBrowser)site; 
<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (webBrowser
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
{<br />
webBrowser.BeforeNavigate2 += <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);<br />
}<br />
}<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">else</span><br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (webBrowser
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
{<br />
webBrowser.BeforeNavigate2 -= <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);<br />
webBrowser <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>;<br />
}<br />
}<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> 0;<br />
}<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> GetSite(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span> Guid
guid, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">out</span> IntPtr
ppvSite)<br />
{<br />
IntPtr punk <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Marshal.GetIUnknownForObject(webBrowser);<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> hr <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Marshal.QueryInterface(punk, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span> guid, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">out</span> ppvSite);<br />
Marshal.Release(punk);<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> hr;<br />
}<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">#endregion</span><br />
}<br />
}<br /><br /><font face="Verdana" size="2"><strong>Açıklamalar</strong><br /><u>SHDOCVW</u><br /></font><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> SHDocVw;<br /><font face="Verdana" size="2">SetSite metodu ile gelen <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> türünden
site nesnesi <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Microsoft
Internet Controls"</span> com'unda (ShDocVw.dll) bulunan WebBrowser nesnesine dönüştürülerek
kullanılacağından dolayı bu com'u projemize register etmemiz gerekmektedir.</font><br /><br /><font face="Verdana" size="2"><u>BHOKEYNAME</u></font><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> BHOKEYNAME <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser
Helper Objects"</span>;<br /><font face="Verdana" size="2">Bu <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>,
IE nin eklentilerinin kaydedildiği registry key'i dir.Assembly mizi register ettiğimizde
ComRegisterFunction niteliği ile işaretlenmiş</font><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> RegisterBHO(Type
t) <font face="Verdana" size="2">metodu çalışacak ve gerekli işlemler yapılacaktır.Unregister
da ise tahmin edeceğiniz gibi ComUnregisterFunction niteliği ile işaretlenmiş</font><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> UnregisterBHO(Type
t) <font face="Verdana" size="2">metodu çalışacak ve eklentinin IE kaydından çıkartılması
için gerekli işlemler yapılacaktır.<br /></font><br /><font face="Verdana" size="2"><u>SetSite</u></font><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">int</span> SetSite(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> site)<br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (site
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
{<br />
webBrowser <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (WebBrowser)site; 
<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (webBrowser
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
{<br />
webBrowser.BeforeNavigate2 += <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);<br />
}<br />
}<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">else</span><br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (webBrowser
!<span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>)<br />
{<br />
webBrowser.BeforeNavigate2 -= <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);<br />
webBrowser <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">null</span>;<br />
}<br />
}<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span> 0;<br />
}<br /><br /></span>
        </p>
        <p>
bu kod IE yeni bir webbrowser kontrolü oluşturduğunda çalışacak koddur.Biz bu metodda
gönderilen object türünden site nesnesini sınıf bazında erişimi olan webbrowser nesnemize
set ediyoruz.Bu işlem esnasında webBrowser_BeforeNavigate2 metodunu webbrowser nesnesinin
BeforeNavigate2 olayına bağlıyoruz.Dolayısı ile yeni bir sayfa açılmak istendiğinde
ilk önce bizim metodumuz çağıralacak ve gerekli kontrolleri yapabiliyor olacağız.
</p>
        <p>
          <u>BeforeNavigate</u>
          <br />
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">public</span>
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> webBrowser_BeforeNavigate2(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> pDisp, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> Url,<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> Flags, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> TargetFrameName, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> PostData,<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">object</span> Headers, <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">ref</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">bool</span> Cancel)<br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span> _Url <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>)Url;<br />
Uri _uri <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> Uri(_Url);<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (_uri.Host
== <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"www.leventyildiz.net"</span>)<br />
{<br />
Cancel <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">true</span>;<br />
System.Windows.Forms.MessageBox.Show(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Bu
siteye çıkamazsınız"</span>); 
<br />
}<br />
}<br /></span>
        </p>
        <p>
En basit metod :) gitmek istenilen Url bize metod tarafından bildiriliyor, bizde bunu
kontrol edip izin veriyoruz veya işlemi iptal ediyoruz.Tabi bu metodda istediğimiz
gibi kontroller gerçekleştirebilir, windows formlarıyla bilgi alabiliriz...
</p>
        <p>
Yapılacak son işlem projemizi derledikten sonra regasm tool'u ile assembly mizi register
etmek olacaktır.
</p>
        <p>
vs 2005 command prompt ta 
</p>
        <p>
regasm /codebase MyBHO.dll<br />
komutu IE add-on'umuzu register eder...<br />
regasm /unregister MyBHO.dll<br />
komutu IE add-on'umuzu unregister eder...
</p>
        <p>
Sonuç olarak add-onumuzu IE özellikleri penceresinde görebiliriz.
</p>
        <p>
          <img src="http://www.leventyildiz.net/content/binary/addon1.JPG" border="0" />
        </p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=d99d436e-d21b-4f42-9661-df778fb16d1f" />
      </body>
      <title>Browser Helper Objects (BHO) - IE add-on</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,d99d436e-d21b-4f42-9661-df778fb16d1f.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/28/BrowserHelperObjectsBHOIEAddon.aspx</link>
      <pubDate>Mon, 28 May 2007 12:47:16 GMT</pubDate>
      <description>&lt;p&gt;
BHO nedir ilk önce bunu açıklayalım.Browser Helper Object, işletim sisteminde Browser
görevini üstlenmiş bileşenler üzerinde çalışmak için tasarlanmış eklentilerdir.Internet
Explorer 'a yazılan eklentiler iyi bir BHO örneği olacaktır.
&lt;/p&gt;
&lt;p&gt;
BHO objemiz IObjectWithSite arayüzünden türemelidir.Bu arayüzün SetSite ve GetSite
isminde iki metodu mevcuttur.İlk önce bu arayüzü gözden geçirelim.
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Runtime.InteropServices;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;namespace&lt;/span&gt; MyBHO&lt;br&gt;
{&lt;br&gt;
[ComVisible(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;),&lt;br&gt;
Guid(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"FC4801A3-2BA9-11CF-A229-00AA003D7352"&lt;/span&gt;),&lt;br&gt;
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;interface&lt;/span&gt; IObjectWithSite&lt;br&gt;
{&lt;br&gt;
[PreserveSig]&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; SetSite([MarshalAs(UnmanagedType.IUnknown)]&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; site);&lt;br&gt;
[PreserveSig]&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; GetSite(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; Guid
guid, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;out&lt;/span&gt; IntPtr
ppvSite);&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;/span&gt;
&lt;br&gt;
IE herhangi bir browser kontrolü oluşturduğunda SetSite çalışacak ve biz de gerekli
nesneleri burada atayacağız.&lt;br&gt;
Şimdi IObjectWithSite arayüzünden türeyen MyBHO sınıfımızı inceleyelim.
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Text;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Runtime.InteropServices;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; Microsoft.Win32;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; SHDocVw;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;namespace&lt;/span&gt; MyBHO&lt;br&gt;
{&lt;br&gt;
[ComVisible(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;),&lt;br&gt;
ClassInterface(ClassInterfaceType.None)]&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; MyBHO
: IObjectWithSite&lt;br&gt;
{&lt;br&gt;
WebBrowser webBrowser;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; MyBHO()&lt;br&gt;
{&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; BHOKEYNAME &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser
Helper Objects"&lt;/span&gt;;&lt;br&gt;
&lt;br&gt;
[ComRegisterFunction]&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; RegisterBHO(Type
t)&lt;br&gt;
{&lt;br&gt;
RegistryKey key &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Registry.LocalMachine.OpenSubKey(BHOKEYNAME, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;);&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (key
== &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
key &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Registry.LocalMachine.CreateSubKey(BHOKEYNAME);&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; guidString &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; t.GUID.ToString(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"B"&lt;/span&gt;);&lt;br&gt;
RegistryKey bhoKey &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; key.OpenSubKey(guidString);&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (bhoKey
== &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
bhoKey &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; key.CreateSubKey(guidString);&lt;br&gt;
&lt;br&gt;
key.Close();&lt;br&gt;
bhoKey.Close();&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
[ComUnregisterFunction]&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; UnregisterBHO(Type
t)&lt;br&gt;
{&lt;br&gt;
RegistryKey key &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Registry.LocalMachine.OpenSubKey(BHOKEYNAME, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;);&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; guidString &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; t.GUID.ToString(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"B"&lt;/span&gt;);&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (key
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
key.DeleteSubKey(guidString, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;false&lt;/span&gt;);&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; webBrowser_BeforeNavigate2(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; pDisp, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; Url,&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; Flags, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; TargetFrameName, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; PostData,&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; Headers, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;bool&lt;/span&gt; Cancel)&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; _Url &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;)Url;&lt;br&gt;
Uri _uri &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; Uri(_Url);&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (_uri.Host
== &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"www.leventyildiz.net"&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
Cancel &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;;&lt;br&gt;
System.Windows.Forms.MessageBox.Show(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Bu
siteye çıkamazsınız"&lt;/span&gt;); 
&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;#region&lt;/span&gt; IObjectWithSite
Members&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; SetSite(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; site)&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (site
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
webBrowser &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (WebBrowser)site; 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (webBrowser
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
webBrowser.BeforeNavigate2 += &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;/span&gt;
&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (webBrowser
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
webBrowser.BeforeNavigate2 -= &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);&lt;br&gt;
webBrowser &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;;&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; 0;&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; GetSite(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; Guid
guid, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;out&lt;/span&gt; IntPtr
ppvSite)&lt;br&gt;
{&lt;br&gt;
IntPtr punk &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Marshal.GetIUnknownForObject(webBrowser);&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; hr &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Marshal.QueryInterface(punk, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; guid, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;out&lt;/span&gt; ppvSite);&lt;br&gt;
Marshal.Release(punk);&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; hr;&lt;br&gt;
}&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;#endregion&lt;/span&gt;
&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;font face=Verdana size=2&gt;&lt;strong&gt;Açıklamalar&lt;/strong&gt;
&lt;br&gt;
&lt;u&gt;SHDOCVW&lt;/u&gt;
&lt;br&gt;
&lt;/font&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; SHDocVw;&lt;br&gt;
&lt;font face=Verdana size=2&gt;SetSite metodu ile gelen &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; türünden
site nesnesi &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Microsoft
Internet Controls"&lt;/span&gt; com'unda (ShDocVw.dll) bulunan WebBrowser nesnesine dönüştürülerek
kullanılacağından dolayı bu com'u projemize register etmemiz gerekmektedir.&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;
&lt;font face=Verdana size=2&gt;&lt;u&gt;BHOKEYNAME&lt;/u&gt;&lt;/font&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; BHOKEYNAME &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser
Helper Objects"&lt;/span&gt;;&lt;br&gt;
&lt;font face=Verdana size=2&gt;Bu &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;,
IE nin eklentilerinin kaydedildiği registry key'i dir.Assembly mizi register ettiğimizde
ComRegisterFunction niteliği ile işaretlenmiş&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; RegisterBHO(Type
t) &lt;font face=Verdana size=2&gt;metodu çalışacak ve gerekli işlemler yapılacaktır.Unregister
da ise tahmin edeceğiniz gibi ComUnregisterFunction niteliği ile işaretlenmiş&lt;/font&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; UnregisterBHO(Type
t) &lt;font face=Verdana size=2&gt;metodu çalışacak ve eklentinin IE kaydından çıkartılması
için gerekli işlemler yapılacaktır.&lt;br&gt;
&lt;/font&gt;
&lt;br&gt;
&lt;font face=Verdana size=2&gt;&lt;u&gt;SetSite&lt;/u&gt;&lt;/font&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;int&lt;/span&gt; SetSite(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; site)&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (site
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
webBrowser &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (WebBrowser)site; 
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (webBrowser
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
webBrowser.BeforeNavigate2 += &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;else&lt;/span&gt;
&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (webBrowser
!&lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
webBrowser.BeforeNavigate2 -= &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; DWebBrowserEvents2_BeforeNavigate2EventHandler(webBrowser_BeforeNavigate2);&lt;br&gt;
webBrowser &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;null&lt;/span&gt;;&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt; 0;&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
bu kod IE yeni bir webbrowser kontrolü oluşturduğunda çalışacak koddur.Biz bu metodda
gönderilen object türünden site nesnesini sınıf bazında erişimi olan webbrowser nesnemize
set ediyoruz.Bu işlem esnasında webBrowser_BeforeNavigate2 metodunu webbrowser nesnesinin
BeforeNavigate2 olayına bağlıyoruz.Dolayısı ile yeni bir sayfa açılmak istendiğinde
ilk önce bizim metodumuz çağıralacak ve gerekli kontrolleri yapabiliyor olacağız.
&lt;/p&gt;
&lt;p&gt;
&lt;u&gt;BeforeNavigate&lt;/u&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;public&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; webBrowser_BeforeNavigate2(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; pDisp, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; Url,&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; Flags, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; TargetFrameName, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; PostData,&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;object&lt;/span&gt; Headers, &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;ref&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;bool&lt;/span&gt; Cancel)&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt; _Url &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;)Url;&lt;br&gt;
Uri _uri &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; Uri(_Url);&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (_uri.Host
== &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"www.leventyildiz.net"&lt;/span&gt;)&lt;br&gt;
{&lt;br&gt;
Cancel &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;true&lt;/span&gt;;&lt;br&gt;
System.Windows.Forms.MessageBox.Show(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Bu
siteye çıkamazsınız"&lt;/span&gt;); 
&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
En basit metod :) gitmek istenilen Url bize metod tarafından bildiriliyor, bizde bunu
kontrol edip izin veriyoruz veya işlemi iptal ediyoruz.Tabi bu metodda istediğimiz
gibi kontroller gerçekleştirebilir, windows formlarıyla bilgi alabiliriz...
&lt;/p&gt;
&lt;p&gt;
Yapılacak son işlem projemizi derledikten sonra regasm tool'u ile assembly mizi register
etmek olacaktır.
&lt;/p&gt;
&lt;p&gt;
vs 2005 command prompt ta 
&lt;/p&gt;
&lt;p&gt;
regasm /codebase MyBHO.dll&lt;br&gt;
komutu IE add-on'umuzu register eder...&lt;br&gt;
regasm /unregister MyBHO.dll&lt;br&gt;
komutu IE add-on'umuzu unregister eder...
&lt;/p&gt;
&lt;p&gt;
Sonuç olarak add-onumuzu IE özellikleri penceresinde görebiliriz.
&lt;/p&gt;
&lt;p&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/addon1.JPG" border=0&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=d99d436e-d21b-4f42-9661-df778fb16d1f" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,d99d436e-d21b-4f42-9661-df778fb16d1f.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
BHO geliştiren arkadaşlar, bazen ie den manage add-ons bölümünden geliştirdiğimiz
dll'i disable yapmak o dll'i serbest bırakmayabilir.Dll serbest kalmayınca da yeni
kodu derlerken veya derlenmiş dll i üzerine kopyalarken bu nesne bir process tarafından
tutuluyor hatası alırız.
</p>
        <p>
Bu tür durumlarda yapmanız gereken task manager dan explorer process ini kill edip,
new task menü seçeneğine explorer yazarak tekrar başlatmanız olacaktır.Logout Login
çok uzun sürüyor :)
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9" />
      </body>
      <title>Browser Helper Objects:dll başka bir process tarafından kullanılıyor.</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/22/BrowserHelperObjectsdllBa%c5%9fkaBirProcessTaraf%c4%b1ndanKullan%c4%b1l%c4%b1yor.aspx</link>
      <pubDate>Tue, 22 May 2007 12:20:11 GMT</pubDate>
      <description>&lt;p&gt;
BHO geliştiren arkadaşlar, bazen ie den manage add-ons bölümünden geliştirdiğimiz
dll'i disable yapmak o dll'i serbest bırakmayabilir.Dll serbest kalmayınca da yeni
kodu derlerken veya derlenmiş dll i üzerine kopyalarken bu nesne bir process tarafından
tutuluyor hatası alırız.
&lt;/p&gt;
&lt;p&gt;
Bu tür durumlarda yapmanız gereken task manager dan explorer process ini kill edip,
new task menü seçeneğine explorer yazarak tekrar başlatmanız olacaktır.Logout Login
çok uzun sürüyor :)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,b3b7a792-3f19-40dc-bfad-f4c5fdb55ab9.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=7faa28cb-8a65-494b-9e72-98e40eea335d</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,7faa28cb-8a65-494b-9e72-98e40eea335d.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,7faa28cb-8a65-494b-9e72-98e40eea335d.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7faa28cb-8a65-494b-9e72-98e40eea335d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <font face="Verdana">Okuma</font>
          </span>
        </p>
        <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
          <p>
            <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">RegistryKey
rgkSettings <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Registry.CurrentUser.CreateSubKey(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"MyRegistryKey"</span>);<br />
txtUserID.Text <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> (<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>)rgkSettings.GetValue(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"LoginUserID"</span>);</span>
          </p>
          <p>
            <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
              <font face="Verdana">Yazma</font>
            </span>
          </p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <p>
              <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">RegistryKey
rgkSettings <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> Registry.CurrentUser.CreateSubKey(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"MyRegistryKey"</span>);<br />
rgkSettings.SetValue(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"LoginUserID"</span>,
txtUserID.Text);</span>
            </p>
          </span>
        </span>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=7faa28cb-8a65-494b-9e72-98e40eea335d" />
      </body>
      <title>registry okuma yazma çizme ...</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,7faa28cb-8a65-494b-9e72-98e40eea335d.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/22/registryOkumaYazma%c3%87izme.aspx</link>
      <pubDate>Tue, 22 May 2007 10:07:12 GMT</pubDate>
      <description>&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font face=Verdana&gt;Okuma&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; 
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;RegistryKey
rgkSettings &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Registry.CurrentUser.CreateSubKey(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"MyRegistryKey"&lt;/span&gt;);&lt;br&gt;
txtUserID.Text &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; (&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;)rgkSettings.GetValue(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"LoginUserID"&lt;/span&gt;);&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;font face=Verdana&gt;Yazma&lt;/font&gt;&lt;/span&gt;
&lt;/p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt; 
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;RegistryKey
rgkSettings &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; Registry.CurrentUser.CreateSubKey(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"MyRegistryKey"&lt;/span&gt;);&lt;br&gt;
rgkSettings.SetValue(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"LoginUserID"&lt;/span&gt;,
txtUserID.Text);&lt;/span&gt;
&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=7faa28cb-8a65-494b-9e72-98e40eea335d" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,7faa28cb-8a65-494b-9e72-98e40eea335d.aspx</comments>
      <category>Post-It</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=bcefb36f-628e-41f1-8377-77e6a1b22e3a</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,bcefb36f-628e-41f1-8377-77e6a1b22e3a.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,bcefb36f-628e-41f1-8377-77e6a1b22e3a.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=bcefb36f-628e-41f1-8377-77e6a1b22e3a</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">url : http(s)?://([\w-]+\.)+[\w-]+(/[\w-
./?%&amp;=]*)?<br />
email : \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*<br /><p></p><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=bcefb36f-628e-41f1-8377-77e6a1b22e3a" /></body>
      <title>regexp::url,email</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,bcefb36f-628e-41f1-8377-77e6a1b22e3a.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/20/regexpurlemail.aspx</link>
      <pubDate>Sun, 20 May 2007 03:36:19 GMT</pubDate>
      <description>url : http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;amp;=]*)?&lt;br&gt;
email : \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&lt;br&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=bcefb36f-628e-41f1-8377-77e6a1b22e3a" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,bcefb36f-628e-41f1-8377-77e6a1b22e3a.aspx</comments>
      <category>Post-It</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=c27a6570-67b5-4d3e-8f37-3f6ab60de9d5</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,c27a6570-67b5-4d3e-8f37-3f6ab60de9d5.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,c27a6570-67b5-4d3e-8f37-3f6ab60de9d5.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c27a6570-67b5-4d3e-8f37-3f6ab60de9d5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">System.Text.RegularExpressions.Regex
rgxValidate <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> System.Text.RegularExpressions.Regex(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"[0-9]"</span>);<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">if</span> (!rgxValidate.IsMatch(txtFaxNo.Text))<br />
{<br />
errClients.SetIconAlignment(txtFaxNo, ErrorIconAlignment.MiddleLeft);<br />
errClients.SetError(txtFaxNo, <span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"Fax
numarası giriş formatı hatalı."</span>);<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">return</span>;<br />
}<br /></span>
        </p>
        <p>
        </p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=c27a6570-67b5-4d3e-8f37-3f6ab60de9d5" />
      </body>
      <title>c# regex kullanımı</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,c27a6570-67b5-4d3e-8f37-3f6ab60de9d5.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/19/cRegexKullan%c4%b1m%c4%b1.aspx</link>
      <pubDate>Sat, 19 May 2007 13:34:31 GMT</pubDate>
      <description>&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;System.Text.RegularExpressions.Regex
rgxValidate &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; System.Text.RegularExpressions.Regex(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"[0-9]"&lt;/span&gt;);&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;if&lt;/span&gt; (!rgxValidate.IsMatch(txtFaxNo.Text))&lt;br&gt;
{&lt;br&gt;
errClients.SetIconAlignment(txtFaxNo, ErrorIconAlignment.MiddleLeft);&lt;br&gt;
errClients.SetError(txtFaxNo, &lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"Fax
numarası giriş formatı hatalı."&lt;/span&gt;);&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;return&lt;/span&gt;;&lt;br&gt;
}&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=c27a6570-67b5-4d3e-8f37-3f6ab60de9d5" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,c27a6570-67b5-4d3e-8f37-3f6ab60de9d5.aspx</comments>
      <category>Post-It</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Fatih arkadaşımızın bir talebine istinaden .net framework class library yi gezinirken
problemine kolay bir çözüm buldum.Eğer bir web sitesinin html içeriğini okumak istiyorsanız
Uri sinifi biçilmiş kaftan.Eski yöntemlere (winsock,tcpclient) gerek kalmadan (tabiki
bu yöntemler kullanılıyor ama arka planda) Uri sınıfını kullanarak bir web sitesinin
içeriğini alabiliriz.Örnek aşağıda;<br /><br /></p>
        <p>
          <span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">
            <span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Collections.Generic;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Text;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.Net;<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">using</span> System.IO;<br /><br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">namespace</span> UriX<br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">class</span> Program<br />
{<br /><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">static</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">void</span> Main(<span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">string</span>[]
args)<br />
{<br />
Uri siteUri <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> Uri(<span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4">"http://www.google.com/"</span>);<br />
WebRequest wr <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> WebRequest.Create(siteUri);<br />
WebResponse wer <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> wr.GetResponse();<br /><br />
Stream strX <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span> wer.GetResponseStream();<br />
StreamReader strR <span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">=</span><span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent">new</span> StreamReader(strX); 
<br />
Console.WriteLine(strR.ReadToEnd());<br />
}<br />
}<br />
}</span>
        </p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89" />
      </body>
      <title>Uri sınıfı kullanımı</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/08/UriS%c4%b1n%c4%b1f%c4%b1Kullan%c4%b1m%c4%b1.aspx</link>
      <pubDate>Tue, 08 May 2007 08:08:55 GMT</pubDate>
      <description>&lt;p&gt;
Fatih arkadaşımızın bir talebine istinaden .net framework class library yi gezinirken
problemine kolay bir çözüm buldum.Eğer bir web sitesinin html içeriğini okumak istiyorsanız
Uri sinifi biçilmiş kaftan.Eski yöntemlere (winsock,tcpclient) gerek kalmadan (tabiki
bu yöntemler kullanılıyor ama arka planda) Uri sınıfını kullanarak bir web sitesinin
içeriğini alabiliriz.Örnek aşağıda;&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: black; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Text;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.Net;&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;using&lt;/span&gt; System.IO;&lt;br&gt;
&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;namespace&lt;/span&gt; UriX&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;class&lt;/span&gt; Program&lt;br&gt;
{&lt;br&gt;
&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;static&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;void&lt;/span&gt; Main(&lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;string&lt;/span&gt;[]
args)&lt;br&gt;
{&lt;br&gt;
Uri siteUri &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; Uri(&lt;span style="FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Courier New; BACKGROUND-COLOR: #e4e4e4"&gt;"http://www.google.com/"&lt;/span&gt;);&lt;br&gt;
WebRequest wr &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; WebRequest.Create(siteUri);&lt;br&gt;
WebResponse wer &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; wr.GetResponse();&lt;br&gt;
&lt;br&gt;
Stream strX &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; wer.GetResponseStream();&lt;br&gt;
StreamReader strR &lt;span style="FONT-SIZE: 11px; COLOR: red; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;=&lt;/span&gt; &lt;span style="FONT-SIZE: 11px; COLOR: blue; FONT-FAMILY: Courier New; BACKGROUND-COLOR: transparent"&gt;new&lt;/span&gt; StreamReader(strX); 
&lt;br&gt;
Console.WriteLine(strR.ReadToEnd());&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
}&lt;/span&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,7c7e9170-e5fc-401e-bf3a-d9db3dfa5f89.aspx</comments>
      <category>Internet</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=7f47990f-8228-473c-bfa6-57b7de56ac36</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,7f47990f-8228-473c-bfa6-57b7de56ac36.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,7f47990f-8228-473c-bfa6-57b7de56ac36.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=7f47990f-8228-473c-bfa6-57b7de56ac36</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Web uygulamanızda birden fazla sitemap kullanmanız gerektiği durumlarda (birden fazla
menü kontrolleri, sitemap kontrolleri...) web.config dosyasına system.web tag'ı altına
aşağıdaki ayarları eklemeniz yeterli olacaktır.<br /><br />
    &lt;siteMap&gt;<br />
      &lt;providers&gt;<br />
        &lt;add name="MyWeb" type="System.Web.XmlSiteMapProvider"
siteMapFile="web.sitemap"/&gt;<br />
        &lt;add name="<strong>MyWeb1</strong>"
type="System.Web.XmlSiteMapProvider" siteMapFile="web1.sitemap"/&gt;<br />
        &lt;add name="MyWeb2" type="System.Web.XmlSiteMapProvider"
siteMapFile="web2.sitemap"/&gt;<br />
      &lt;/providers&gt;<br />
    &lt;/siteMap&gt;<br /><br />
Sitemap dosyalarını atadığınız SiteMapDataSource kontrollerinde de aşağıdaki özelliği
yazmanız gerekmektedir.<br /><br />
&lt;asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"
SiteMapProvider="<strong>MyWeb1</strong>" /&gt;            
<br /></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=7f47990f-8228-473c-bfa6-57b7de56ac36" />
      </body>
      <title>Birden fazla sitemap kontrolü kullanımı</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,7f47990f-8228-473c-bfa6-57b7de56ac36.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/07/BirdenFazlaSitemapKontrol%c3%bcKullan%c4%b1m%c4%b1.aspx</link>
      <pubDate>Mon, 07 May 2007 11:41:40 GMT</pubDate>
      <description>&lt;p&gt;
Web uygulamanızda birden fazla sitemap kullanmanız gerektiği durumlarda (birden fazla
menü kontrolleri, sitemap kontrolleri...) web.config dosyasına system.web tag'ı altına
aşağıdaki ayarları eklemeniz yeterli olacaktır.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;siteMap&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;providers&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="MyWeb" type="System.Web.XmlSiteMapProvider"
siteMapFile="web.sitemap"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="&lt;strong&gt;MyWeb1&lt;/strong&gt;"
type="System.Web.XmlSiteMapProvider" siteMapFile="web1.sitemap"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="MyWeb2" type="System.Web.XmlSiteMapProvider"
siteMapFile="web2.sitemap"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/providers&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/siteMap&amp;gt;&lt;br&gt;
&lt;br&gt;
Sitemap dosyalarını atadığınız SiteMapDataSource kontrollerinde de aşağıdaki özelliği
yazmanız gerekmektedir.&lt;br&gt;
&lt;br&gt;
&amp;lt;asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"
SiteMapProvider="&lt;strong&gt;MyWeb1&lt;/strong&gt;" /&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=7f47990f-8228-473c-bfa6-57b7de56ac36" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,7f47990f-8228-473c-bfa6-57b7de56ac36.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=f6a03e2d-8653-4041-88d6-bab96dd1f963</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,f6a03e2d-8653-4041-88d6-bab96dd1f963.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,f6a03e2d-8653-4041-88d6-bab96dd1f963.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=f6a03e2d-8653-4041-88d6-bab96dd1f963</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Web Parts, geliştirdiğiniz web uygulamalarında kullandığınız Web User Control nesnelerini
veya Calendar, FileUpload gibi standart Asp.Net kontrollerini, kullanıcı bazında özelleştirebilmenizi
sağlayan ve bu kontrollerin web sayfası üzerinde sizin belirlediğiniz web alanlarında
kullanıcının isteği doğrultusunda görüntülenmesini sağlayan kontrollerdir.<br /><br />
Burada sıkıntı yaşayabileceğinizi düşündüğüm bir sorunun çözümünü paylaşmak istiyorum.Web
part kullanımında kişiselleştirme kullanıldığından dolayı bütün bu kişisel ayarlar
App_Data'nın içine otomatik olarak yaratılan ASPNETDB veritabanına kaydedilir.Lokalde
çalışırken sorun yoktur fakat sunucuya upload edildiğinde bağlantı hataları veritabanının
bulunamaması gibi sorunlarla karşılaşabilirsiniz veya bu veritabanını sunucu üzerine
register etmek isteyebilirsiniz.<br /><br />
Yapmanız gereken, web.config dosyasına system.web tag'ı içine;<br /><br />
&lt;webParts&gt;<br />
      &lt;personalization  defaultProvider="AspNetSqlPersonalizationProvider"&gt;<br />
        &lt;providers&gt;<br />
          &lt;remove name="AspNetSqlPersonalizationProvider"
/&gt;<br />
          &lt;add name="AspNetSqlPersonalizationProvider"<br />
          type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"<br />
          connectionStringName="<strong>DBConn</strong>"<br />
          applicationName="/" /&gt;<br />
        &lt;/providers&gt;<br />
      &lt;/personalization&gt;<br />
&lt;/webParts&gt;<br /><br />
ayar kayıtlarını girmenizdir.Burda önemli olan design aşamasında oluşturulan aspnetdb
yi sunucu üzerine taşıdıktan sonra aynı web.config dosyasının içine connectionstrings
tag'ı altında bu mdf'i bildiren bir connection string tanımlamanızdır.<br /><br />
  &lt;add name="<strong>DBConn</strong>" connectionString="Data Source=.\SQLEXPRESS;Initial
Catalog=ASPNETDB.MDF;Integrated Security=True;pooling=true;min pool size=5;max pool
size=20;connection lifetime=50"<br />
   providerName="System.Data.SqlClient" /&gt;<br /><br />
Bu sayede uygulamanız kişiselleştirme kayıtları için artik sizin belirlediğiniz veritabanını
kullanacaktır.
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=f6a03e2d-8653-4041-88d6-bab96dd1f963" />
      </body>
      <title>Web Parts Aspnetdb problemi</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,f6a03e2d-8653-4041-88d6-bab96dd1f963.aspx</guid>
      <link>http://www.leventyildiz.net/2007/05/07/WebPartsAspnetdbProblemi.aspx</link>
      <pubDate>Mon, 07 May 2007 10:42:56 GMT</pubDate>
      <description>&lt;p&gt;
Web Parts, geliştirdiğiniz web uygulamalarında kullandığınız Web User Control nesnelerini
veya Calendar, FileUpload gibi standart Asp.Net kontrollerini, kullanıcı bazında özelleştirebilmenizi
sağlayan ve bu kontrollerin web sayfası üzerinde sizin belirlediğiniz web alanlarında
kullanıcının isteği doğrultusunda görüntülenmesini sağlayan kontrollerdir.&lt;br&gt;
&lt;br&gt;
Burada sıkıntı yaşayabileceğinizi düşündüğüm bir sorunun&amp;nbsp;çözümünü paylaşmak istiyorum.Web
part kullanımında kişiselleştirme kullanıldığından dolayı bütün bu kişisel ayarlar
App_Data'nın içine otomatik olarak yaratılan ASPNETDB veritabanına kaydedilir.Lokalde
çalışırken sorun yoktur fakat sunucuya upload edildiğinde bağlantı hataları veritabanının
bulunamaması gibi sorunlarla karşılaşabilirsiniz veya bu veritabanını sunucu üzerine
register etmek isteyebilirsiniz.&lt;br&gt;
&lt;br&gt;
Yapmanız gereken, web.config dosyasına system.web tag'ı içine;&lt;br&gt;
&lt;br&gt;
&amp;lt;webParts&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;personalization&amp;nbsp; defaultProvider="AspNetSqlPersonalizationProvider"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;providers&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;remove name="AspNetSqlPersonalizationProvider"
/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name="AspNetSqlPersonalizationProvider"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; connectionStringName="&lt;strong&gt;DBConn&lt;/strong&gt;"&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; applicationName="/" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/providers&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/personalization&amp;gt;&lt;br&gt;
&amp;lt;/webParts&amp;gt;&lt;br&gt;
&lt;br&gt;
ayar kayıtlarını girmenizdir.Burda önemli olan design aşamasında oluşturulan aspnetdb
yi sunucu üzerine taşıdıktan sonra&amp;nbsp;aynı web.config dosyasının içine connectionstrings
tag'ı altında bu mdf'i bildiren bir connection string tanımlamanızdır.&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;lt;add name="&lt;strong&gt;DBConn&lt;/strong&gt;" connectionString="Data Source=.\SQLEXPRESS;Initial
Catalog=ASPNETDB.MDF;Integrated Security=True;pooling=true;min pool size=5;max pool
size=20;connection lifetime=50"&lt;br&gt;
&amp;nbsp;&amp;nbsp; providerName="System.Data.SqlClient" /&amp;gt;&lt;br&gt;
&lt;br&gt;
Bu sayede uygulamanız kişiselleştirme kayıtları için artik sizin belirlediğiniz veritabanını
kullanacaktır.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=f6a03e2d-8653-4041-88d6-bab96dd1f963" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,f6a03e2d-8653-4041-88d6-bab96dd1f963.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=fef89008-dd69-48ba-8d19-a42451440cd3</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,fef89008-dd69-48ba-8d19-a42451440cd3.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,fef89008-dd69-48ba-8d19-a42451440cd3.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=fef89008-dd69-48ba-8d19-a42451440cd3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Client tarafında 'Sys is undefined' hatası alıyorsanız;<br />
IIS6.0 üzerinde Asp.NET 2.0 uygulamanız çalışmıyorsa;<br />
Bu yukardaki iki problemden dolayı akıl sağlığınız tehlikede ise, aşağıdakileri okumanızda
yarar var.<br /><br />
Windows Srv 2003 std sp2 üzerinde IIS6.0'i kurdugunuzda Web extensions kısmında asp.net
2.0 için gerekli olan web service extension kaydı gelmiyor.<br />
Bunu manuel olarak eklemelisiniz.<br />
Web service extensions kısmında sağ click new extension i seçip aşağıdakileri gireceksiniz.<br />
Web service extension name=ASP.NET v2.0.50727<br />
DLL= C:\Windows\Microsoft.net\framework\v2.0.50727\aspnet_isapi.dll<br /><br />
Evet artık bu şekilde çalıştırabilirsiniz.<br /><br />
Peki siteyi ayağa kaldırdıktan sonra Ajaxv1.0 ile ilgili bir problem oluşursa;<br />
Client tarafında sys is undefined gibi bir hata alırsanız.Aklınıza ilk gelecek şey
ajax'da bir sorun olduğu<br />
veya client da javanin son sürümünün yüklü olmadığı olacaktır.<br /><br />
Google da sys is undefined diye bir arama yaparsanız tonla döküman gelecektir.<br />
Genelde bu dökümanlarda asp.net web.config dosyasında ajaxv1.0 a geçtiğinizde yapılması
gereken değişiklikleri<br />
görürsünüz.Tabi yapılması gereken herşeyi yaptıktan sonra aynı hatayı almaya devam
ederseniz sağlık problemleri<br />
başlar :)<br /><br />
Gariptir, 1 günlük bocalamadan sonra isp'de sunucuyu tam kabinlere koymadan önce görevli
arkadaşın<br />
-aa bi dk.bu cdrom bizim.bunu çıkartmamız gerekiyor 
<br />
demesi ve sunucudan cd rom'u cikartmasi aklıma geldi.<br />
Sonra sunucuya bakıp sistem saatini kontrol ettim.<br />
Sene 2003'dü.<br />
Sistem tarihini normal hale getirdim ve sys is undefined sorunu çözüldü.<br /><br />
Sağlık problemlerimin devam etmemesi için bir tarihin client tarafındaki java hatası
ile nasıl bir alakası olur diye 
<br />
düşünmek istemedim ve yoluma devam ettim.
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=fef89008-dd69-48ba-8d19-a42451440cd3" />
      </body>
      <title>.NET 2.0 + IIS6.0 Kurulumu</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,fef89008-dd69-48ba-8d19-a42451440cd3.aspx</guid>
      <link>http://www.leventyildiz.net/2007/02/12/NET20IIS60Kurulumu.aspx</link>
      <pubDate>Mon, 12 Feb 2007 12:50:58 GMT</pubDate>
      <description>&lt;p&gt;
Client tarafında 'Sys is undefined' hatası alıyorsanız;&lt;br&gt;
IIS6.0 üzerinde Asp.NET 2.0 uygulamanız çalışmıyorsa;&lt;br&gt;
Bu yukardaki iki problemden dolayı akıl sağlığınız tehlikede ise, aşağıdakileri okumanızda
yarar var.&lt;br&gt;
&lt;br&gt;
Windows Srv 2003 std sp2 üzerinde IIS6.0'i kurdugunuzda Web extensions kısmında asp.net
2.0 için gerekli olan web&amp;nbsp;service&amp;nbsp;extension kaydı gelmiyor.&lt;br&gt;
Bunu manuel olarak eklemelisiniz.&lt;br&gt;
Web service extensions kısmında sağ click new extension i seçip aşağıdakileri gireceksiniz.&lt;br&gt;
Web service extension name=ASP.NET v2.0.50727&lt;br&gt;
DLL= C:\Windows\Microsoft.net\framework\v2.0.50727\aspnet_isapi.dll&lt;br&gt;
&lt;br&gt;
Evet artık bu şekilde çalıştırabilirsiniz.&lt;br&gt;
&lt;br&gt;
Peki siteyi ayağa kaldırdıktan sonra Ajaxv1.0 ile ilgili bir problem oluşursa;&lt;br&gt;
Client tarafında sys is undefined gibi bir hata alırsanız.Aklınıza ilk gelecek şey
ajax'da bir sorun olduğu&lt;br&gt;
veya client da javanin son sürümünün yüklü olmadığı olacaktır.&lt;br&gt;
&lt;br&gt;
Google da sys is undefined diye bir arama yaparsanız tonla döküman gelecektir.&lt;br&gt;
Genelde bu dökümanlarda asp.net web.config dosyasında ajaxv1.0 a geçtiğinizde yapılması
gereken değişiklikleri&lt;br&gt;
görürsünüz.Tabi yapılması gereken herşeyi yaptıktan sonra aynı hatayı almaya devam
ederseniz sağlık problemleri&lt;br&gt;
başlar :)&lt;br&gt;
&lt;br&gt;
Gariptir, 1 günlük bocalamadan sonra isp'de sunucuyu tam kabinlere koymadan önce görevli
arkadaşın&lt;br&gt;
-aa bi dk.bu cdrom bizim.bunu çıkartmamız gerekiyor 
&lt;br&gt;
demesi ve sunucudan cd rom'u cikartmasi aklıma geldi.&lt;br&gt;
Sonra sunucuya bakıp sistem saatini kontrol ettim.&lt;br&gt;
Sene 2003'dü.&lt;br&gt;
Sistem tarihini normal hale getirdim ve sys is undefined sorunu çözüldü.&lt;br&gt;
&lt;br&gt;
Sağlık problemlerimin devam etmemesi için bir tarihin client tarafındaki java hatası
ile nasıl bir alakası olur diye 
&lt;br&gt;
düşünmek istemedim ve yoluma devam ettim.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=fef89008-dd69-48ba-8d19-a42451440cd3" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,fef89008-dd69-48ba-8d19-a42451440cd3.aspx</comments>
      <category>Server Systems</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=b0de583d-d250-44ac-802f-011f758f18c4</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,b0de583d-d250-44ac-802f-011f758f18c4.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,b0de583d-d250-44ac-802f-011f758f18c4.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b0de583d-d250-44ac-802f-011f758f18c4</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
Dün IBM in Rational Software Test Run'ına katıldım.Rational Software IBM'in java platformunda
yazılım geliştirenler için sunduğu bir ürün.Genel bir tanıtımdan sonra lablara başladık.Lablarda
pek fazla problem yoktu.Ama sanki bir eğitim ortamı gibiydi.Daha ürünü tam tanımadan
direkt tasarıma girdik.Microsoft'un tanıtımlarını hatırladım.Ms tanıtımlarında da
tam tersine uzun uzun ürün anlatılır detaylara pek fazla girilmezdi.İçimden geçirdim
IBM tümevarım, Ms tümdengelim yapıyor diye :), Şunu kesinlikle vurgulamak isterimki
burda yazdıklarımla iki ürünü karşlaştırmıyorum, zaten iki ayrı platform .net ve java...Sadece
ürün hakkında ilk izlenimlerimi sizinle paylaşmak istedim.<br /><br />
Rational'a genel olarak baktığımızda design tarafı çok detaylı ve güzel.Bir projeyi
kod yazmadan sadece uml tasarımı yaparak ve Rational 'ın wizardlarını kullanarak geliştirebiliyorsunuz.Son
sürümünde Ajax desteği daha da genişlemiş durumda, palette bayağı genişlemiş.Fakat
ne yazıkki basit anlamda bir tablonun bir DataTable'a atanması ve ordan kullanıcının
add update delete işlemlerini gerçekleştirmesi için tekrar manuel kod yazmanız gerekiyor.Bu
biraz tutarsız.Bütün bir sayfayı wizardlarla tasarlıyorsunuz ve 1 satır kod yazmıyorsunuz,
öbür tarafta basit bir tablonun edit işlemi için kod yazmak zorunda kalıyorsunuz...<br /><br />
Bir ürüne yığınla lisans parası verilecek ve basit bir add update delete işlemi için
kod yazmamız gerekecek.Umarım/İnanıyorum ki ilerleyen sürümlerinde Rational a da bu
özellik eklenecektir.<br /><br /><br /><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b0de583d-d250-44ac-802f-011f758f18c4" /></body>
      <title>Tabloya add update delete mi? Olmazz oturup yazacaksın.</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,b0de583d-d250-44ac-802f-011f758f18c4.aspx</guid>
      <link>http://www.leventyildiz.net/2006/12/15/TabloyaAddUpdateDeleteMiOlmazzOturupYazacaks%c4%b1n.aspx</link>
      <pubDate>Fri, 15 Dec 2006 11:06:57 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
Dün IBM in Rational Software Test Run'ına katıldım.Rational Software IBM'in java platformunda
yazılım geliştirenler için sunduğu bir ürün.Genel bir tanıtımdan sonra lablara başladık.Lablarda
pek fazla problem yoktu.Ama sanki bir eğitim ortamı gibiydi.Daha ürünü tam tanımadan
direkt tasarıma girdik.Microsoft'un tanıtımlarını hatırladım.Ms tanıtımlarında da
tam tersine uzun uzun ürün anlatılır detaylara pek fazla girilmezdi.İçimden geçirdim
IBM tümevarım, Ms tümdengelim yapıyor diye :), Şunu kesinlikle vurgulamak isterimki
burda yazdıklarımla iki ürünü karşlaştırmıyorum, zaten iki ayrı platform .net ve java...Sadece
ürün hakkında ilk izlenimlerimi sizinle paylaşmak istedim.&lt;br&gt;
&lt;br&gt;
Rational'a genel olarak baktığımızda design tarafı çok detaylı ve güzel.Bir projeyi
kod yazmadan sadece uml tasarımı yaparak ve Rational 'ın wizardlarını kullanarak geliştirebiliyorsunuz.Son
sürümünde Ajax desteği daha da genişlemiş durumda, palette bayağı genişlemiş.Fakat
ne yazıkki basit anlamda bir tablonun bir DataTable'a atanması ve ordan kullanıcının
add update delete işlemlerini gerçekleştirmesi için tekrar manuel kod yazmanız gerekiyor.Bu
biraz tutarsız.Bütün bir sayfayı wizardlarla tasarlıyorsunuz ve 1 satır kod yazmıyorsunuz,
öbür tarafta basit bir tablonun edit işlemi için kod yazmak zorunda kalıyorsunuz...&lt;br&gt;
&lt;br&gt;
Bir ürüne yığınla lisans parası verilecek ve basit bir add update delete işlemi için
kod yazmamız gerekecek.Umarım/İnanıyorum ki ilerleyen sürümlerinde Rational a da bu
özellik eklenecektir.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b0de583d-d250-44ac-802f-011f758f18c4" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,b0de583d-d250-44ac-802f-011f758f18c4.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=5f4e0b51-d93e-4ac4-8908-7553fff08e7f</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,5f4e0b51-d93e-4ac4-8908-7553fff08e7f.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,5f4e0b51-d93e-4ac4-8908-7553fff08e7f.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=5f4e0b51-d93e-4ac4-8908-7553fff08e7f</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
Vs60 dan Vs.net e geçen arkadaşların karşılaşacağı bir sorun.<br />
Formun WindowState özelliğinin değiştiğinin algılanması; (Maximized,Minimized,Normal)<br /><br />
Form event lerinde bu olaya hakim olmamızı sağlayacak bir olay mevcut değil.<br />
Bu işlemi WndProc metodunu override ederek hallediyoruz.<br /><br />
m.Msg WM_SIZE (0x0005) e eşit olduğunda form'un size edildiğini anlıyoruz.<br />
m.WParam ise bize size olayının türünü belirtiyor.<br /><br />
protected override void WndProc(ref Message m)<br />
{<br />
    if (m.Msg == /*WM_SIZE*/ 0x0005)<br />
    {<br />
        if (m.WParam.ToInt32() == 2)<br />
        {<br />
             //Maximized<br />
        }<br />
        else if (m.WParam.ToInt32() == 0)<br />
        {<br />
             //Normal<br />
        }<br />
    }<br />
    base.WndProc(ref m);<br />
}<br /><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=5f4e0b51-d93e-4ac4-8908-7553fff08e7f" /></body>
      <title>WinForm'un WindowState özelliğinin değiştiğini anlamak</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,5f4e0b51-d93e-4ac4-8908-7553fff08e7f.aspx</guid>
      <link>http://www.leventyildiz.net/2006/12/02/WinFormunWindowState%c3%96zelli%c4%9fininDe%c4%9fi%c5%9fti%c4%9finiAnlamak.aspx</link>
      <pubDate>Sat, 02 Dec 2006 10:17:18 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
Vs60 dan Vs.net e geçen arkadaşların karşılaşacağı bir sorun.&lt;br&gt;
Formun WindowState özelliğinin değiştiğinin algılanması; (Maximized,Minimized,Normal)&lt;br&gt;
&lt;br&gt;
Form event lerinde bu olaya hakim olmamızı sağlayacak bir olay mevcut değil.&lt;br&gt;
Bu işlemi WndProc metodunu override ederek hallediyoruz.&lt;br&gt;
&lt;br&gt;
m.Msg WM_SIZE (0x0005) e eşit olduğunda form'un size edildiğini anlıyoruz.&lt;br&gt;
m.WParam ise bize size olayının türünü belirtiyor.&lt;br&gt;
&lt;br&gt;
protected override void WndProc(ref Message m)&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m.Msg == /*WM_SIZE*/ 0x0005)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (m.WParam.ToInt32() == 2)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; //Maximized&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (m.WParam.ToInt32() == 0)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; //Normal&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; base.WndProc(ref m);&lt;br&gt;
}&lt;br&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=5f4e0b51-d93e-4ac4-8908-7553fff08e7f" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,5f4e0b51-d93e-4ac4-8908-7553fff08e7f.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=81498789-4204-4e76-9cee-be30117ef28e</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,81498789-4204-4e76-9cee-be30117ef28e.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,81498789-4204-4e76-9cee-be30117ef28e.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=81498789-4204-4e76-9cee-be30117ef28e</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
Çok sevdiğim bir arkadaşım uzun bir bocalama zamanından sonra bana bu problemle geldi.Bu
sorunla karşılaşan arkadaşlar bocalamasın diye yazayım dedim.<br /><br />
Projenize Add Items dan SiteMap dosyası ekleyin ve değerlerinizi yazın; ör:<br />
&lt;?xml version="1.0" encoding="utf-8" ?&gt;<br />
&lt;siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" &gt;<br />
    &lt;siteMapNode url="root.aspx" title="root"  description=""&gt;<br />
        &lt;siteMapNode url="1.aspx" title="1 menü" 
description=""&gt;<br />
          &lt;siteMapNode url="1a.aspx"
title="1a menü"  description="" /&gt;<br />
          &lt;siteMapNode url="1b.aspx"
title="1a menü"  description="" /&gt;<br />
        &lt;/siteMapNode&gt;<br />
        &lt;siteMapNode url="2.aspx" title="2 menü" 
description=""&gt;<br />
          &lt;siteMapNode url="2a.aspx"
title="2a menü"  description="" /&gt;<br />
        &lt;/siteMapNode&gt;<br />
    &lt;/siteMapNode&gt;<br />
&lt;/siteMap&gt;<br /><br />
ASP.NET sayfanıza SiteMapDataSource ve Menü kontrollerini ekleyin.<br />
    &lt;div&gt;<br />
        &lt;asp:Menu ID="Menu1" runat="server"
DataSourceID="SiteMapDataSource1"&gt;<br />
        &lt;/asp:Menu&gt;    
<br />
    &lt;/div&gt;<br />
        &lt;asp:SiteMapDataSource ID="SiteMapDataSource1"
runat="server" /&gt;<br />
    &lt;/form&gt;<br /><br />
Projenizi çalıştırdığınızda sadece bir root menüsü göreceksiniz.Peki root 'un yanına
bir menü seçeneği daha eklemek isterseniz ne yapmanız gerekir? SiteMap dosyasina &lt;SiteMap&gt;
tagı arasına 1 tane daha &lt;SiteMapNode&gt; ekleyelim? 
<br /><br />
Ne yazıkki hayır.Vs2k5 size derlemeye çalıştığınızda hata verecektir.Çünkü &lt;SiteMap&gt;
tag'inin arasında sadece 1 tane &lt;SiteMapNode&gt; a izin verilir.Bu sorunu aşmak
için yapmaniz gereken çok basit.<br /><br />
Sayfanızdaki SiteMapDataSource kontrolüne ait tag'a bir özellik ekleyeceksiniz,<br />
&lt;asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/&gt;<br />
ShowStartingNode="false"<br /><br />
Artık root menü de gözükmeyecek 1 ve 2 görüntülenecektir.<br /><br />
ShowStartingNode="false" dan önce;<br /><img src="http://www.leventyildiz.net/content/binary/sitemap.JPG" alt="sitemap.JPG" border="0" height="216" width="356" /><br /><br />
ShowStartingNode="false" dan sonra;<br /><img src="http://www.leventyildiz.net/content/binary/sitemap1.JPG" alt="sitemap1.JPG" border="0" height="268" width="382" /><br /><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=81498789-4204-4e76-9cee-be30117ef28e" /></body>
      <title>SiteMap problemi</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,81498789-4204-4e76-9cee-be30117ef28e.aspx</guid>
      <link>http://www.leventyildiz.net/2006/11/17/SiteMapProblemi.aspx</link>
      <pubDate>Fri, 17 Nov 2006 09:23:49 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
Çok sevdiğim bir arkadaşım uzun bir bocalama zamanından sonra bana bu problemle geldi.Bu
sorunla karşılaşan arkadaşlar bocalamasın diye yazayım dedim.&lt;br&gt;
&lt;br&gt;
Projenize Add Items dan SiteMap dosyası ekleyin ve değerlerinizi yazın; ör:&lt;br&gt;
&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;br&gt;
&amp;lt;siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" &amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;siteMapNode url="root.aspx" title="root"&amp;nbsp; description=""&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;siteMapNode url="1.aspx" title="1 menü"&amp;nbsp;
description=""&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;siteMapNode url="1a.aspx"
title="1a menü"&amp;nbsp; description="" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;siteMapNode url="1b.aspx"
title="1a menü"&amp;nbsp; description="" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/siteMapNode&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;siteMapNode url="2.aspx" title="2 menü"&amp;nbsp;
description=""&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;siteMapNode url="2a.aspx"
title="2a menü"&amp;nbsp; description="" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/siteMapNode&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/siteMapNode&amp;gt;&lt;br&gt;
&amp;lt;/siteMap&amp;gt;&lt;br&gt;
&lt;br&gt;
ASP.NET sayfanıza SiteMapDataSource ve Menü kontrollerini ekleyin.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Menu ID="Menu1" runat="server"
DataSourceID="SiteMapDataSource1"&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/asp:Menu&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:SiteMapDataSource ID="SiteMapDataSource1"
runat="server" /&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;br&gt;
&lt;br&gt;
Projenizi çalıştırdığınızda sadece bir root menüsü göreceksiniz.Peki root 'un yanına
bir menü seçeneği daha eklemek isterseniz ne yapmanız gerekir? SiteMap dosyasina &amp;lt;SiteMap&amp;gt;
tagı arasına 1 tane daha &amp;lt;SiteMapNode&amp;gt; ekleyelim? 
&lt;br&gt;
&lt;br&gt;
Ne yazıkki hayır.Vs2k5 size derlemeye çalıştığınızda hata verecektir.Çünkü &amp;lt;SiteMap&amp;gt;
tag'inin arasında sadece 1 tane &amp;lt;SiteMapNode&amp;gt; a izin verilir.Bu sorunu aşmak
için yapmaniz gereken çok basit.&lt;br&gt;
&lt;br&gt;
Sayfanızdaki SiteMapDataSource kontrolüne ait tag'a bir özellik ekleyeceksiniz,&lt;br&gt;
&amp;lt;asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" ShowStartingNode="false"/&amp;gt;&lt;br&gt;
ShowStartingNode="false"&lt;br&gt;
&lt;br&gt;
Artık root menü de gözükmeyecek 1 ve 2 görüntülenecektir.&lt;br&gt;
&lt;br&gt;
ShowStartingNode="false" dan önce;&lt;br&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/sitemap.JPG" alt="sitemap.JPG" border="0" height="216" width="356"&gt;
&lt;br&gt;
&lt;br&gt;
ShowStartingNode="false" dan sonra;&lt;br&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/sitemap1.JPG" alt="sitemap1.JPG" border="0" height="268" width="382"&gt;
&lt;br&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=81498789-4204-4e76-9cee-be30117ef28e" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,81498789-4204-4e76-9cee-be30117ef28e.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=eb4c8251-2c65-445d-825d-941857f634fb</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,eb4c8251-2c65-445d-825d-941857f634fb.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,eb4c8251-2c65-445d-825d-941857f634fb.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=eb4c8251-2c65-445d-825d-941857f634fb</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
Normalde sayfa üzerine 1 gridview,1 detailsview ve 1 datasource kontrolü yerleştirerek
db tablosuna veri ekleyebiliyor silebiliyoruz.Fakat datasource da select komutuna
iki ayrı tablodan veri aldığınızda ve detailsview ile yeni kayıt eklediğinizde gridview
refresh olmuyor.<br /><br />
Sorunu gidermek için, detailsview 'ın iteminserted olayında gridview u refresh edecek
kodu yazmaniz gerekiyor.<br /><br />
    protected void DetailsView2_ItemInserted(object sender, DetailsViewInsertedEventArgs
e)<br />
    {<br />
        GridView1.DataBind();<br />
    }<br /><br />
Kolay gelsin.<br /><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=eb4c8251-2c65-445d-825d-941857f634fb" /></body>
      <title>GridView kontrolü refresh problemi.</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,eb4c8251-2c65-445d-825d-941857f634fb.aspx</guid>
      <link>http://www.leventyildiz.net/2006/10/30/GridViewKontrol%c3%bcRefreshProblemi.aspx</link>
      <pubDate>Mon, 30 Oct 2006 09:44:45 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
Normalde sayfa üzerine 1 gridview,1 detailsview ve 1 datasource kontrolü yerleştirerek
db tablosuna veri ekleyebiliyor silebiliyoruz.Fakat datasource da select komutuna
iki ayrı tablodan veri aldığınızda ve detailsview ile yeni kayıt eklediğinizde gridview
refresh olmuyor.&lt;br&gt;
&lt;br&gt;
Sorunu gidermek için, detailsview 'ın iteminserted olayında gridview u refresh edecek
kodu yazmaniz gerekiyor.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void DetailsView2_ItemInserted(object sender, DetailsViewInsertedEventArgs
e)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GridView1.DataBind();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
Kolay gelsin.&lt;br&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=eb4c8251-2c65-445d-825d-941857f634fb" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,eb4c8251-2c65-445d-825d-941857f634fb.aspx</comments>
      <category>Internet</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=f7e9a6c7-a5d8-4562-8110-505cb32f61b2</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,f7e9a6c7-a5d8-4562-8110-505cb32f61b2.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,f7e9a6c7-a5d8-4562-8110-505cb32f61b2.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=f7e9a6c7-a5d8-4562-8110-505cb32f61b2</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
Atlas'dan Asp.Net Ajax beta1 e geçip, scriptmanager,scriptmanagerproxy,updatepanel
gibi extension kontrollerinde problem yaşayan arkadaşlara;<br /><br />
Sorun şu anda bir bug gibi gözüküyor.Web.config de Microsoft.Web.Extensions ile alakali
tagprefix niteliğini ajax olarak değiştirmeniz gerekiyor.Tabi bu değişiklikten sonra
sayfalar üzerindeki kontrollerin de prefixlerini düzeltmeniz gerekiyor.<br /><br />
            &lt;controls&gt;<br />
        &lt;add tagPrefix="<b>ajax</b>" namespace="Microsoft.Web.UI"
assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/&gt;<br />
        &lt;add tagPrefix="<b>ajax</b>" namespace="Microsoft.Web.UI.Controls"
assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/&gt;<br />
        &lt;add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI"
assembly="Microsoft.Web.Preview"/&gt;<br />
                &lt;add
tagPrefix="asp" namespace="Microsoft.Web.Preview.UI.Controls" assembly="Microsoft.Web.Preview"/&gt;        
<br />
            &lt;/controls&gt;<br /><br />
Ben çektim siz çekmeyin :)<br /><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=f7e9a6c7-a5d8-4562-8110-505cb32f61b2" /></body>
      <title>Atlas'dan Asp.Net Ajax Beta1'e geçen arkadaşlara</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,f7e9a6c7-a5d8-4562-8110-505cb32f61b2.aspx</guid>
      <link>http://www.leventyildiz.net/2006/10/30/AtlasdanAspNetAjaxBeta1eGe%c3%a7enArkada%c5%9flara.aspx</link>
      <pubDate>Mon, 30 Oct 2006 08:44:13 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
Atlas'dan Asp.Net Ajax beta1 e geçip, scriptmanager,scriptmanagerproxy,updatepanel
gibi extension kontrollerinde problem yaşayan arkadaşlara;&lt;br&gt;
&lt;br&gt;
Sorun şu anda bir bug gibi gözüküyor.Web.config de Microsoft.Web.Extensions ile alakali
tagprefix niteliğini ajax olarak değiştirmeniz gerekiyor.Tabi bu değişiklikten sonra
sayfalar üzerindeki kontrollerin de prefixlerini düzeltmeniz gerekiyor.&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;controls&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagPrefix="&lt;b&gt;ajax&lt;/b&gt;" namespace="Microsoft.Web.UI"
assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagPrefix="&lt;b&gt;ajax&lt;/b&gt;" namespace="Microsoft.Web.UI.Controls"
assembly="Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add tagPrefix="asp" namespace="Microsoft.Web.Preview.UI"
assembly="Microsoft.Web.Preview"/&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add
tagPrefix="asp" namespace="Microsoft.Web.Preview.UI.Controls" assembly="Microsoft.Web.Preview"/&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/controls&amp;gt;&lt;br&gt;
&lt;br&gt;
Ben çektim siz çekmeyin :)&lt;br&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=f7e9a6c7-a5d8-4562-8110-505cb32f61b2" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,f7e9a6c7-a5d8-4562-8110-505cb32f61b2.aspx</comments>
      <category>Internet</category>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=b444f80d-2d42-4948-aee7-a94be5aadfb2</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,b444f80d-2d42-4948-aee7-a94be5aadfb2.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,b444f80d-2d42-4948-aee7-a94be5aadfb2.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b444f80d-2d42-4948-aee7-a94be5aadfb2</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
        </p>
ASP.NET GridView ve DetailsView kontrollerini kullanarak basit bir Ajanda uygulaması
hakkındaki görsel dersim.GridView ve DetailsView kontrollerinde alanlara DropDownList
eklenmesi.MsSQL Stored Procedure leri kullanılarak veri bütünlüğünün sağlanması.<br /><br /><a href="http://www.leventyildiz.net/Dload/ASP.NET_GridView_DetailsView_SP.rar"><img src="content/binary/ASP.NET_GridView_DetailsView_SP%20%28Frame%20404533%291.jpg" border="0" /></a><br /><br />
Görsel dersi indirmek için <a href="http://www.leventyildiz.net/Dload/ASP.NET_GridView_DetailsView_SP.rar">tıklayın</a>.<br /><img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b444f80d-2d42-4948-aee7-a94be5aadfb2" /></body>
      <title>ASP.NET GridView DetailsView kontrolleri,ItemTemplates &amp; Stored Proc Entegrasyonu</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,b444f80d-2d42-4948-aee7-a94be5aadfb2.aspx</guid>
      <link>http://www.leventyildiz.net/2006/10/22/ASPNETGridViewDetailsViewKontrolleriItemTemplatesStoredProcEntegrasyonu.aspx</link>
      <pubDate>Sun, 22 Oct 2006 11:47:47 GMT</pubDate>
      <description>&lt;p&gt;
&lt;/p&gt;
ASP.NET GridView ve DetailsView kontrollerini kullanarak basit bir Ajanda uygulaması
hakkındaki görsel dersim.GridView ve DetailsView kontrollerinde alanlara DropDownList
eklenmesi.MsSQL Stored Procedure leri kullanılarak veri bütünlüğünün sağlanması.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.leventyildiz.net/Dload/ASP.NET_GridView_DetailsView_SP.rar"&gt;&lt;img src="content/binary/ASP.NET_GridView_DetailsView_SP%20%28Frame%20404533%291.jpg" border="0"&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;
Görsel dersi indirmek için &lt;a href="http://www.leventyildiz.net/Dload/ASP.NET_GridView_DetailsView_SP.rar"&gt;tıklayın&lt;/a&gt;.&lt;br&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b444f80d-2d42-4948-aee7-a94be5aadfb2" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,b444f80d-2d42-4948-aee7-a94be5aadfb2.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=a6de3deb-6dd5-4ab9-b068-6a99093715c9</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,a6de3deb-6dd5-4ab9-b068-6a99093715c9.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,a6de3deb-6dd5-4ab9-b068-6a99093715c9.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=a6de3deb-6dd5-4ab9-b068-6a99093715c9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Uzun bir süreden sonra tekrar selamlar,<br /><br />
Araştırma yaptığım ve ilerdeki projelerimde altyapı olarak kullanacağım bir proje
üzerinde çalışıyordum.CodeDom ve Plugin tabanlı programlama.Açıkçası konu ile ilgili
bir örnek proje üzerinde uzun süre düşündüm ve sonunda Morad# 'ın bir fikri üzerine
yazıCan 'ı geliştirdim.<br /><br /><img src="http://www.leventyildiz.net/content/binary/yaziCan.JPG" border="0" /><br /><br />
Program basit bir notepad olarak işliyor fakat plugin tabanlı olmasından dolayı uygulamaya
kendiniz c# kodu kullanarak eklenti yazabiliyorsunuz.Örneğin ekranda seçili bir metni
büyük harf'e çevirmek istiyorsunuz.Bunun için c# kodu ile bir plugin yazıp programa
yükleyip kullanabiliyorsunuz.<br /><br />
İşi biraz daha kolaylaştırmak amacıyla plug in kodunu yazıCan üzerinde yazılabilir
ve derleyebilir hale getirdik.Bunun için CodeDom isimalanındaki sınıfları kullandık.<br /><br />
Programı burdaki linkten indirebilirsiniz. <a href="http://www.leventyildiz.net/dload/yaziCan.rar">http://www.leventyildiz.net/dload/yaziCan.rar</a><br /><br />
yazıCan ile ilgili makalelerim yakında yayımlanacaktır.
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=a6de3deb-6dd5-4ab9-b068-6a99093715c9" />
      </body>
      <title>yazıCan</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,a6de3deb-6dd5-4ab9-b068-6a99093715c9.aspx</guid>
      <link>http://www.leventyildiz.net/2006/09/24/yaz%c4%b1Can.aspx</link>
      <pubDate>Sun, 24 Sep 2006 18:46:07 GMT</pubDate>
      <description>&lt;p&gt;
Uzun bir süreden sonra tekrar selamlar,&lt;br&gt;
&lt;br&gt;
Araştırma yaptığım ve ilerdeki projelerimde altyapı olarak kullanacağım bir proje
üzerinde çalışıyordum.CodeDom ve Plugin tabanlı programlama.Açıkçası konu ile ilgili
bir örnek proje üzerinde uzun süre düşündüm ve sonunda Morad# 'ın bir fikri üzerine
yazıCan 'ı geliştirdim.&lt;br&gt;
&lt;br&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/yaziCan.JPG" border=0&gt;
&lt;br&gt;
&lt;br&gt;
Program basit bir notepad olarak işliyor fakat plugin tabanlı olmasından dolayı uygulamaya
kendiniz c# kodu kullanarak eklenti yazabiliyorsunuz.Örneğin ekranda seçili bir metni
büyük harf'e çevirmek istiyorsunuz.Bunun için c# kodu ile bir plugin yazıp programa
yükleyip kullanabiliyorsunuz.&lt;br&gt;
&lt;br&gt;
İşi biraz daha kolaylaştırmak amacıyla plug in kodunu yazıCan üzerinde yazılabilir
ve derleyebilir hale getirdik.Bunun için CodeDom isimalanındaki sınıfları kullandık.&lt;br&gt;
&lt;br&gt;
Programı burdaki linkten indirebilirsiniz. &lt;a href="http://www.leventyildiz.net/dload/yaziCan.rar"&gt;http://www.leventyildiz.net/dload/yaziCan.rar&lt;/a&gt; 
&lt;br&gt;
&lt;br&gt;
yazıCan ile ilgili makalelerim yakında yayımlanacaktır.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=a6de3deb-6dd5-4ab9-b068-6a99093715c9" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,a6de3deb-6dd5-4ab9-b068-6a99093715c9.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=c8666ae1-a9a3-41c6-ab8e-99b106b61fdf</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,c8666ae1-a9a3-41c6-ab8e-99b106b61fdf.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,c8666ae1-a9a3-41c6-ab8e-99b106b61fdf.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=c8666ae1-a9a3-41c6-ab8e-99b106b61fdf</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Her insan hata yapar, ama bu kadar aşağılanmazki insan canım.
</p>
        <img src="http://www.leventyildiz.net/content/binary/boru.JPG" border="0" />
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=c8666ae1-a9a3-41c6-ab8e-99b106b61fdf" />
      </body>
      <title>Hatayı yapan biz miyiz yoksa Localization departmanı mı?</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,c8666ae1-a9a3-41c6-ab8e-99b106b61fdf.aspx</guid>
      <link>http://www.leventyildiz.net/2006/09/01/Hatay%c4%b1YapanBizMiyizYoksaLocalizationDepartman%c4%b1M%c4%b1.aspx</link>
      <pubDate>Fri, 01 Sep 2006 07:56:21 GMT</pubDate>
      <description>&lt;p&gt;
Her insan hata yapar, ama bu kadar aşağılanmazki insan canım.
&lt;/p&gt;
&lt;img src="http://www.leventyildiz.net/content/binary/boru.JPG" border=0&gt;&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=c8666ae1-a9a3-41c6-ab8e-99b106b61fdf" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,c8666ae1-a9a3-41c6-ab8e-99b106b61fdf.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=601907c8-aec8-43ef-8928-b73dad393573</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,601907c8-aec8-43ef-8928-b73dad393573.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,601907c8-aec8-43ef-8928-b73dad393573.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=601907c8-aec8-43ef-8928-b73dad393573</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Mobil cihazlar için uygulama geliştiren arkadaşlar,<br /><br />
Eğer Ms mobile device emulatörlerini kullanıyorsanız, ve projenizde tcp/ip bağlantısı
yapılması gerekli bir durum mevcutsa(web servisleri,dbconnection vs) emulator cihazinin
kendine ait bir ip adresi olmasi gerekiyor.<br /><br />
Aksi taktirde localhost sizin development pc nizde kendi pc niz fakat emulator de
sizin pc niz degil emulator un kendisi anlamina gelir, boyle olunca emulator tcpip
baglantisini kendisine yapmaya calisir ve istisnai durum alir durursunuz.
</p>
        <p>
Virtual Machine Network Driver for Microsoft Device Emulator 'u indirerek emulatör
ün kendi ip sini almasini sağlayabilirsiniz.<br /><br /><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&amp;DisplayLang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&amp;DisplayLang=en</a></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=601907c8-aec8-43ef-8928-b73dad393573" />
      </body>
      <title>Mobil cihazlar</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,601907c8-aec8-43ef-8928-b73dad393573.aspx</guid>
      <link>http://www.leventyildiz.net/2006/08/29/MobilCihazlar.aspx</link>
      <pubDate>Tue, 29 Aug 2006 08:25:42 GMT</pubDate>
      <description>&lt;p&gt;
Mobil cihazlar için uygulama geliştiren arkadaşlar,&lt;br&gt;
&lt;br&gt;
Eğer Ms mobile device emulatörlerini kullanıyorsanız, ve projenizde tcp/ip bağlantısı
yapılması gerekli bir durum mevcutsa(web servisleri,dbconnection vs) emulator cihazinin
kendine ait bir ip adresi olmasi gerekiyor.&lt;br&gt;
&lt;br&gt;
Aksi taktirde localhost sizin development pc nizde kendi pc niz fakat emulator de
sizin pc niz degil emulator un kendisi anlamina gelir, boyle olunca emulator tcpip
baglantisini kendisine yapmaya calisir ve istisnai durum alir durursunuz.
&lt;/p&gt;
&lt;p&gt;
Virtual Machine Network Driver for Microsoft Device Emulator 'u indirerek emulatör
ün kendi ip sini almasini sağlayabilirsiniz.&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&amp;amp;DisplayLang=en&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=601907c8-aec8-43ef-8928-b73dad393573" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,601907c8-aec8-43ef-8928-b73dad393573.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=34c5e6a8-a468-4e4d-980b-b3a7ba56053c</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,34c5e6a8-a468-4e4d-980b-b3a7ba56053c.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,34c5e6a8-a468-4e4d-980b-b3a7ba56053c.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=34c5e6a8-a468-4e4d-980b-b3a7ba56053c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Uzayan bir tartışmaya kendimce yorum;<br />
WebForms mu Windows Forms mu?<br /><br />
Her ikiside.<br />
Internet explorer kapaliyken insanlar yazdiginiz sistemler hakkında uyarı,hatırlatma
vs vs bilgilerini nasıl alacaklar?<br /><br />
Reverse engineering derseniz siz de windowsforms ların içinde business objelerinizi
tutmayın derim.Web servisleri mevcut...
</p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=34c5e6a8-a468-4e4d-980b-b3a7ba56053c" />
      </body>
      <title>WebForms &amp; Windows Forms</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,34c5e6a8-a468-4e4d-980b-b3a7ba56053c.aspx</guid>
      <link>http://www.leventyildiz.net/2006/08/19/WebFormsWindowsForms.aspx</link>
      <pubDate>Sat, 19 Aug 2006 16:55:49 GMT</pubDate>
      <description>&lt;p&gt;
Uzayan bir tartışmaya kendimce yorum;&lt;br&gt;
WebForms mu Windows Forms mu?&lt;br&gt;
&lt;br&gt;
Her ikiside.&lt;br&gt;
Internet explorer kapaliyken insanlar yazdiginiz sistemler hakkında uyarı,hatırlatma
vs vs bilgilerini nasıl alacaklar?&lt;br&gt;
&lt;br&gt;
Reverse engineering derseniz siz de windowsforms ların içinde business objelerinizi
tutmayın derim.Web servisleri mevcut...
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=34c5e6a8-a468-4e4d-980b-b3a7ba56053c" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,34c5e6a8-a468-4e4d-980b-b3a7ba56053c.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=64ad6316-87ae-4c90-81b3-20c5e57ec7d9</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,64ad6316-87ae-4c90-81b3-20c5e57ec7d9.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,64ad6316-87ae-4c90-81b3-20c5e57ec7d9.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=64ad6316-87ae-4c90-81b3-20c5e57ec7d9</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Can sıkıcı başka bir problem,<br /><br />
Excel den veri okuyacağım.TYPE_E_INVDATAREAD hatası ile karşılaştım.Birkaç google
adımından sonra...;.Excel in ingilizce sürümü yüklü ise ve bölgesel ayarlar ingilizce
dışında başka bir dile ayarlanmışşa bu sorunu verir.Cözüm olarak Office in MUI paketini
yükleyebilirsiniz.<br /><br />
Çözüm 2; sistemin Culture özelliğini Excel'inkine uydurmak gerekiyor.<br /><br /><font size="2">--quote<br />
System.Globalization.</font><font color="#008080" size="2">CultureInfo</font><font size="2"> oldCI
= System.Threading.</font><font color="#008080" size="2">Thread</font><font size="2">.CurrentThread.CurrentCulture;
</font></p>
        <p>
System.Threading.<font color="#008080" size="2">Thread</font><font size="2">.CurrentThread.CurrentCulture
= </font><font color="#0000ff" size="2">new</font><font size="2"> System.Globalization.</font><font color="#008080" size="2">CultureInfo</font><font size="2">(</font><font color="#800000" size="2">"en-US"</font><font size="2">);
</font></p>
        <p>
Microsoft.Office.Interop.Excel.<font color="#008080" size="2">Workbook</font><font size="2"> workBook
= app.Workbooks.Open(....<br />
.................<br />
.................<br />
Excel işlemleri<br />
.................<br /><br /><font size="2">System.Threading.</font><font color="#008080" size="2">Thread</font><font size="2">.CurrentThread.CurrentCulture
= oldCI;<br />
--unquote<br /><br />
Bu sorunu Open metodunda vermesi açıkçası gerçekten can sıkıcı.TCP
sınıfında çoklu bağlantılarda programcıyı yormadan tcp port numaralarını yükseltmeyi üzerine
almış bir c# Excel in CultureInfo su için bizim kalbimizi kırıyor.
</font></font></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=64ad6316-87ae-4c90-81b3-20c5e57ec7d9" />
      </body>
      <title>.Net - Ms Excel - TYPE_E_INVDATAREAD</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,64ad6316-87ae-4c90-81b3-20c5e57ec7d9.aspx</guid>
      <link>http://www.leventyildiz.net/2006/08/18/NetMsExcelTYPEEINVDATAREAD.aspx</link>
      <pubDate>Fri, 18 Aug 2006 06:28:27 GMT</pubDate>
      <description>&lt;p&gt;
Can sıkıcı başka bir problem,&lt;br&gt;
&lt;br&gt;
Excel den veri okuyacağım.TYPE_E_INVDATAREAD hatası ile karşılaştım.Birkaç google
adımından sonra...;.Excel in ingilizce sürümü yüklü ise ve bölgesel ayarlar ingilizce
dışında başka bir dile ayarlanmışşa bu sorunu verir.Cözüm olarak Office in MUI paketini
yükleyebilirsiniz.&lt;br&gt;
&lt;br&gt;
Çözüm 2; sistemin Culture özelliğini Excel'inkine uydurmak gerekiyor.&lt;br&gt;
&lt;br&gt;
&lt;font size=2&gt;--quote&lt;br&gt;
System.Globalization.&lt;/font&gt;&lt;font color=#008080 size=2&gt;CultureInfo&lt;/font&gt;&lt;font size=2&gt; oldCI
= System.Threading.&lt;/font&gt;&lt;font color=#008080 size=2&gt;Thread&lt;/font&gt;&lt;font size=2&gt;.CurrentThread.CurrentCulture;
&lt;/p&gt;
&lt;p&gt;
System.Threading.&gt;&lt;font color=#008080 size=2&gt;Thread&lt;/font&gt;&lt;font size=2&gt;.CurrentThread.CurrentCulture
= &lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; System.Globalization.&lt;/font&gt;&lt;font color=#008080 size=2&gt;CultureInfo&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"en-US"&lt;/font&gt;&lt;font size=2&gt;);
&lt;/p&gt;
&lt;p&gt;
Microsoft.Office.Interop.Excel.&gt;&lt;font color=#008080 size=2&gt;Workbook&lt;/font&gt;&lt;font size=2&gt; workBook
= app.Workbooks.Open(....&lt;br&gt;
.................&lt;br&gt;
.................&lt;br&gt;
Excel işlemleri&lt;br&gt;
.................&lt;br&gt;
&lt;br&gt;
&lt;font size=2&gt;System.Threading.&lt;/font&gt;&lt;font color=#008080 size=2&gt;Thread&lt;/font&gt;&lt;font size=2&gt;.CurrentThread.CurrentCulture
= oldCI;&lt;br&gt;
--unquote&lt;br&gt;
&lt;br&gt;
Bu sorunu&amp;nbsp;Open&amp;nbsp;metodunda&amp;nbsp;vermesi&amp;nbsp;açıkçası&amp;nbsp;gerçekten can sıkıcı.TCP
sınıfında çoklu bağlantılarda programcıyı yormadan tcp port numaralarını yükseltmeyi&amp;nbsp;üzerine
almış bir c#&amp;nbsp;Excel in CultureInfo su için bizim kalbimizi kırıyor.
&lt;/p&gt;
&gt;&gt;&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=64ad6316-87ae-4c90-81b3-20c5e57ec7d9" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,64ad6316-87ae-4c90-81b3-20c5e57ec7d9.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=b63fce1b-618b-41ce-a94d-7293bbfbc547</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,b63fce1b-618b-41ce-a94d-7293bbfbc547.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,b63fce1b-618b-41ce-a94d-7293bbfbc547.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=b63fce1b-618b-41ce-a94d-7293bbfbc547</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
System.Data.OleDb sınıfında muhtemel bir bug;<br /><br /><font size="2">--quote<br />
olecomSQL.CommandText = </font><font color="#800000" size="2">"update faxids set localid=@Plocalid
where gfiid=@Pgfiid"</font><font size="2">;</font><font size="2"><br />
olecomSQL.Parameters.Add(</font><font color="#0000ff" size="2">new</font><font size="2"></font><font color="#008080" size="2">OleDbParameter</font><font size="2">(</font><font color="#800000" size="2">"@Pgfiid"</font><font size="2">, </font><font color="#0000ff" size="2">this</font><font size="2">.Tag.ToString()));<br />
olecomSQL.Parameters.Add(<font color="#0000ff" size="2">new</font><font size="2"></font><font color="#008080" size="2">OleDbParameter</font><font size="2">(</font><font color="#800000" size="2">"@Plocalid"</font><font size="2">,
txtDocNo.Text));<br />
--unquote<br /><br />
parametrelerimiz @Plocalid ve @Pgfiid,<br />
OleDbCommand türünden olecomSQL nesnesine eklenmesinde bir problem yok.<br />
Fakat kod çalışmıyor.<br />
Kısa bir araştırmadan sonra commandtext deki parametre bildirim sırasına göre yazdığımda
çalıştığını gördüm.<br /><br />
yani;<br />
--quote<br />
olecomSQL.CommandText = <font color="#800000" size="2">"update faxids set localid=@Plocalid
where gfiid=@Pgfiid"</font><font size="2">;</font><font size="2"><br />
olecomSQL.Parameters.Add(<font color="#0000ff" size="2">new</font><font size="2"></font><font color="#008080" size="2">OleDbParameter</font><font size="2">(</font><font color="#800000" size="2">"@Plocalid"</font><font size="2">,
txtDocNo.Text));<br />
olecomSQL.Parameters.Add(<font color="#0000ff" size="2">new</font><font size="2"></font><font color="#008080" size="2">OleDbParameter</font><font size="2">(</font><font color="#800000" size="2">"@Pgfiid"</font><font size="2">, </font><font color="#0000ff" size="2">this</font><font size="2">.Tag.ToString()));</font><br />
--unquote<br /><br />
Eğer parametre girişi olarak ? bildirimini kullansaydık, buna normal derdim, fakat
parametre ismi belirttiğimizden dolayı bu sorun bana muhtemel bir bug olarak
geldi.<br /></font></font><br /></font></font></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b63fce1b-618b-41ce-a94d-7293bbfbc547" />
      </body>
      <title>OleDb sınıfında muhtemel bug</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,b63fce1b-618b-41ce-a94d-7293bbfbc547.aspx</guid>
      <link>http://www.leventyildiz.net/2006/08/17/OleDbS%c4%b1n%c4%b1f%c4%b1ndaMuhtemelBug.aspx</link>
      <pubDate>Thu, 17 Aug 2006 08:44:56 GMT</pubDate>
      <description>&lt;p&gt;
System.Data.OleDb sınıfında muhtemel bir bug;&lt;br&gt;
&lt;br&gt;
&lt;font size=2&gt;--quote&lt;br&gt;
olecomSQL.CommandText = &lt;/font&gt;&lt;font color=#800000 size=2&gt;"update faxids set localid=@Plocalid
where gfiid=@Pgfiid"&lt;/font&gt;&lt;font size=2&gt;;&lt;/font&gt;&lt;font size=2&gt;
&lt;br&gt;
olecomSQL.Parameters.Add(&lt;/font&gt;&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;OleDbParameter&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"@Pgfiid"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;font size=2&gt;.Tag.ToString()));&lt;br&gt;
olecomSQL.Parameters.Add(&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;OleDbParameter&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"@Plocalid"&lt;/font&gt;&lt;font size=2&gt;,
txtDocNo.Text));&lt;br&gt;
--unquote&lt;br&gt;
&lt;br&gt;
parametrelerimiz @Plocalid ve @Pgfiid,&lt;br&gt;
OleDbCommand türünden olecomSQL nesnesine eklenmesinde bir problem yok.&lt;br&gt;
Fakat kod çalışmıyor.&lt;br&gt;
Kısa bir araştırmadan sonra commandtext deki parametre bildirim sırasına göre yazdığımda
çalıştığını gördüm.&lt;br&gt;
&lt;br&gt;
yani;&lt;br&gt;
--quote&lt;br&gt;
olecomSQL.CommandText = &lt;font color=#800000 size=2&gt;"update faxids set localid=@Plocalid
where gfiid=@Pgfiid"&lt;/font&gt;&lt;font size=2&gt;;&lt;/font&gt;&lt;font size=2&gt;
&lt;br&gt;
olecomSQL.Parameters.Add(&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;OleDbParameter&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"@Plocalid"&lt;/font&gt;&lt;font size=2&gt;,
txtDocNo.Text));&lt;br&gt;
olecomSQL.Parameters.Add(&lt;font color=#0000ff size=2&gt;new&lt;/font&gt;&lt;font size=2&gt; &lt;/font&gt;&lt;font color=#008080 size=2&gt;OleDbParameter&lt;/font&gt;&lt;font size=2&gt;(&lt;/font&gt;&lt;font color=#800000 size=2&gt;"@Pgfiid"&lt;/font&gt;&lt;font size=2&gt;, &lt;/font&gt;&lt;font color=#0000ff size=2&gt;this&lt;/font&gt;&lt;font size=2&gt;.Tag.ToString()));&lt;/font&gt;
&lt;br&gt;
--unquote&lt;br&gt;
&lt;br&gt;
Eğer parametre girişi olarak ? bildirimini kullansaydık, buna normal derdim, fakat
parametre ismi belirttiğimizden dolayı bu sorun&amp;nbsp;bana muhtemel bir bug olarak
geldi.&lt;br&gt;
&lt;/font&gt;&lt;/font&gt;
&lt;br&gt;
&lt;/font&gt;
&lt;/p&gt;
&gt;&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=b63fce1b-618b-41ce-a94d-7293bbfbc547" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,b63fce1b-618b-41ce-a94d-7293bbfbc547.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=cfd09ebe-8105-46a8-9fa9-300a25ed98fc</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,cfd09ebe-8105-46a8-9fa9-300a25ed98fc.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,cfd09ebe-8105-46a8-9fa9-300a25ed98fc.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=cfd09ebe-8105-46a8-9fa9-300a25ed98fc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Çevrimiçi el yazısı tanıma ile ilgili vakti zamanında yapmış olduğum bir projeyi sf.net
e kaydettim.Projeye katılmak isteyen arkadaşlar için link;<br /><br /><a href="http://sourceforge.net/projects/hattat">http://sourceforge.net/projects/hattat</a></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=cfd09ebe-8105-46a8-9fa9-300a25ed98fc" />
      </body>
      <title>HATTAT sf.net de başladı</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,cfd09ebe-8105-46a8-9fa9-300a25ed98fc.aspx</guid>
      <link>http://www.leventyildiz.net/2006/08/12/HATTATSfnetDeBa%c5%9flad%c4%b1.aspx</link>
      <pubDate>Sat, 12 Aug 2006 09:52:35 GMT</pubDate>
      <description>&lt;p&gt;
Çevrimiçi el yazısı tanıma ile ilgili vakti zamanında yapmış olduğum bir projeyi sf.net
e kaydettim.Projeye katılmak isteyen arkadaşlar için link;&lt;br&gt;
&lt;br&gt;
&lt;a href="http://sourceforge.net/projects/hattat"&gt;http://sourceforge.net/projects/hattat&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=cfd09ebe-8105-46a8-9fa9-300a25ed98fc" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,cfd09ebe-8105-46a8-9fa9-300a25ed98fc.aspx</comments>
      <category>Software</category>
    </item>
    <item>
      <trackback:ping>http://www.leventyildiz.net/Trackback.aspx?guid=dfe3672f-30de-4920-a35a-c996aa0d8a3b</trackback:ping>
      <pingback:server>http://www.leventyildiz.net/pingback.aspx</pingback:server>
      <pingback:target>http://www.leventyildiz.net/PermaLink,guid,dfe3672f-30de-4920-a35a-c996aa0d8a3b.aspx</pingback:target>
      <dc:creator>Levent YILDIZ</dc:creator>
      <wfw:comment>http://www.leventyildiz.net/CommentView,guid,dfe3672f-30de-4920-a35a-c996aa0d8a3b.aspx</wfw:comment>
      <wfw:commentRss>http://www.leventyildiz.net/SyndicationService.asmx/GetEntryCommentsRss?guid=dfe3672f-30de-4920-a35a-c996aa0d8a3b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Skype'nin mobil cihazlar için sürümleri mevcut durumda fakat blackberry için sanırım
hala desteği yok.Bu durumda 3rd party ler devreye girmiş.Aşağıdaki linkte 20 buddy'ye
kadar sınırlı bir free Blackberry Skype yazılımı mevcut.20 ve üzeri için $ gerekiyor.
:)<br /><br /><a href="http://www.webmessenger.com/products/mimskype.htm">http://www.webmessenger.com/products/mimskype.htm</a></p>
        <img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=dfe3672f-30de-4920-a35a-c996aa0d8a3b" />
      </body>
      <title>Blackberry için Skype</title>
      <guid isPermaLink="false">http://www.leventyildiz.net/PermaLink,guid,dfe3672f-30de-4920-a35a-c996aa0d8a3b.aspx</guid>
      <link>http://www.leventyildiz.net/2006/08/08/BlackberryI%c3%a7inSkype.aspx</link>
      <pubDate>Tue, 08 Aug 2006 08:22:05 GMT</pubDate>
      <description>&lt;p&gt;
Skype'nin mobil cihazlar için sürümleri mevcut durumda fakat blackberry için sanırım
hala desteği yok.Bu durumda 3rd party ler devreye girmiş.Aşağıdaki linkte 20 buddy'ye
kadar sınırlı bir free Blackberry Skype yazılımı mevcut.20 ve üzeri için $ gerekiyor.
:)&lt;br&gt;
&lt;br&gt;
&lt;a href="http://www.webmessenger.com/products/mimskype.htm"&gt;http://www.webmessenger.com/products/mimskype.htm&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.leventyildiz.net/aggbug.ashx?id=dfe3672f-30de-4920-a35a-c996aa0d8a3b" /&gt;</description>
      <comments>http://www.leventyildiz.net/CommentView,guid,dfe3672f-30de-4920-a35a-c996aa0d8a3b.aspx</comments>
      <category>Software</category>
    </item>
  </channel>
</rss>