<rss version="2.0" 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:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>development</title>
        <link>http://geekswithblogs.net/urig/category/5800.aspx</link>
        <description>development</description>
        <language>en-US</language>
        <copyright>urig</copyright>
        <managingEditor>uri.goldstein@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>ADO.Net SqlTransactions vs Transactions in SQL</title>
            <link>http://geekswithblogs.net/urig/archive/2006/12/20/101703.aspx</link>
            <description>&lt;p&gt;This is a rewrite of a post to microsoft.public.dotnet.framework.adonet.&lt;/p&gt; &lt;p&gt;I'm having a discussion with my team leader concerning the use of &lt;br&gt;SqlTransactions. &lt;/p&gt; &lt;p&gt;We work on an ASP.Net 1.1 website. Up until now we've been using &lt;br&gt;ADO.Net SqlTransactions in our business logic layer to combine several data access layer method calls into one coherent, atomic action.  &lt;p&gt;I am in favor of this approach as it supports isolating the business logic from the database and provides for greater code readability.  &lt;p&gt;My team leader diagrees - he thinks that we need to get rid of all ADO.Net SqlTransactions and instead guarantee atomicity by combining data operations inside stored procedures with transactions.  &lt;p&gt;The reasons why he says SqlTransactions are bad are:  &lt;p&gt;1. If one of the running threads in the IIS just dies all of a sudden, it would leave a transaction open and stuck, putting strain on the DB and risking deadlocks.  &lt;p&gt;2. The DBA won't be able to properly debug the SQL Server whenever deadlocks and critical loads are encountered. Because transactions are opened from a place outside of the DBA's scope he will have no way of&lt;br&gt;knowing how or why certain statements and stored procedures might be executing together or locking each other.  &lt;p&gt;Would you agree with my team lead? Do reason 1 and/or reason 2 justify moving some of our business logic into our DB? If not, does anyone have contradictory examples or links?  &lt;p&gt;I'm calling on whoever is reading this to share their knowledge as I find that I do not know ADO.Net SqlTransaction well enough at this time.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=101703"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=101703" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/101703.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>urig</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/12/20/101703.aspx</guid>
            <pubDate>Wed, 20 Dec 2006 23:44:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/101703.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/12/20/101703.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/101703.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/101703.aspx</trackback:ping>
        </item>
        <item>
            <title>IIS 7.0 is here. Isn't it?</title>
            <link>http://geekswithblogs.net/urig/archive/2006/12/19/101582.aspx</link>
            <description>&lt;p&gt;I'm not 100% sure but it seems Microsoft has silently (?) launched &lt;a href="http://www.iis.net/default.aspx?tabid=7"&gt;IIS version 7.0&lt;/a&gt;. This is &lt;a href="http://www.iis.net/default.aspx?tabid=7&amp;amp;subtabid=78"&gt;said to be a part of Windows Vista&lt;/a&gt;. Oddly enough I've not seen any launch announcement from MS. Maybe I just missed it?&lt;/p&gt; &lt;p&gt;The new version of IIS is said to implement a lesson from the &lt;a href="http://httpd.apache.org/"&gt;Apache Web Server&lt;/a&gt; - modularity. Functionality previously embedded in older version of IIS has been relocated to modules that can optionally be installed alongside a core IIS server. This would allow for better security as administrators can minimize the surface of the server by including only necessary modules.&lt;/p&gt; &lt;p&gt;Another feature worth mentioning is that the &lt;a href="http://support.microsoft.com/default.aspx/kb/240941"&gt;metabase&lt;/a&gt; (IIS' registry like configuration settings store) has been dropped in favor of an XML based configuration. Compatability with the older IIS6.0 metabase is served by a Metabase Compatibility component that enables old scripts to work against older metabase APIs.&lt;/p&gt; &lt;p&gt;Via &lt;a href="http://blogs.microsoft.co.il/blogs/alikl/archive/2006/12/18/IIS-7-is-here_2C00_-gotto-get-my-hands-dirty_2E002E002E00_.aspx"&gt;alikl's blog&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=101582"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=101582" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/101582.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>urig</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/12/19/101582.aspx</guid>
            <pubDate>Tue, 19 Dec 2006 21:15:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/101582.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/12/19/101582.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/101582.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/101582.aspx</trackback:ping>
        </item>
        <item>
            <title>Team Foundation Source Control won’t Get Latest when you Check Out</title>
            <link>http://geekswithblogs.net/urig/archive/2006/11/23/97914.aspx</link>
            <description>&lt;p&gt;In a &lt;a href="http://blogs.microsoft.co.il/blogs/srlteam/archive/2006/11/23/Get-Latest-on-Check-Out.aspx"&gt;recent post&lt;/a&gt;, &lt;a href="http://blogs.microsoft.co.il/user/Profile.aspx?UserID=2122"&gt;Leon Langleyben&lt;/a&gt; described a Team Foundation Source Control "feature" that is giving users a hard time. The "feature" is that the Check Out command in TFSC no longer performs a Get Latest on the file checked out, as we were accustomed to in VSS.
&lt;/p&gt;&lt;p&gt;In the older Visual SourceSafe, when you checked out a file VSS would get the latest version of the file to your local machine and only then open the file for you to work on. This is critical when working in Exclusive Checkout Mode, which is the most popular work mode in VSS.  It guarantees that whoever starts working on the file picks up from the point his predecessor finished and not from some undetermined version in the past.
&lt;/p&gt;&lt;p&gt;Having removed the implicit Get Latest operation from the Check Out command Microsoft has yet again shot itself in the foot by shooting its users in the stomach. Teams migrating to TFSC from VSS are taken completely by surprise by the fact that when a team member checks a file out he is not guaranteed to work on the latest version.
&lt;/p&gt;&lt;p&gt;Most programmers I've talked this over with describe this new "feature" as a bug. It completely breaks their faith in TFSC as a reliable source control system. When basic trust in it is shattered, TFSC has very little chance of being accepted as the better successor of VSS. My team won't even consider the transition in light of the difficulties one of our team leaders experienced with TFSC in a different company.
&lt;/p&gt;&lt;p&gt;How could the TFSC development team make such a terrible mistake? - A harsh usability error that impacts drastically on the marketability of their product. I believe that this happened because the TFSC development team was focused on cutting edge source control strategies and neglected to remember that most of their users are still fixated on the traditional Exclusive Check Out strategy.
&lt;/p&gt;&lt;p&gt;Leon describes this as "one of VSTS source control features that is hard to explain to clients". This implies clients are thick headed and I don't think this is the case. I think Microsoft broke the client's expectations without proper warning and needs to fix things ASAP.
&lt;/p&gt;&lt;p&gt;I am thankful that the TFSC development team has taken measures to remedy the situation in the next version by adding a "Get Latest on Checkout" command to the system.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=97914"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=97914" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/urig/aggbug/97914.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>urig</dc:creator>
            <guid>http://geekswithblogs.net/urig/archive/2006/11/23/97914.aspx</guid>
            <pubDate>Thu, 23 Nov 2006 20:54:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/urig/comments/97914.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/urig/archive/2006/11/23/97914.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/urig/comments/commentRss/97914.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/urig/services/trackbacks/97914.aspx</trackback:ping>
        </item>
    </channel>
</rss>