﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><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/"><channel><title>博客园-coollzh</title><link>http://www.cnblogs.com/coollzh/</link><description>.NET Oriented</description><language>zh-cn</language><lastBuildDate>Sat, 04 Jul 2009 09:43:24 GMT</lastBuildDate><pubDate>Sat, 04 Jul 2009 09:43:24 GMT</pubDate><ttl>60</ttl><item><title>招Wap开发工程师</title><link>http://www.cnblogs.com/coollzh/archive/2008/11/14/1333333.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Fri, 14 Nov 2008 02:42:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2008/11/14/1333333.html</guid><description><![CDATA[<font face="Verdana"><font face="Verdana">
<p>职位要求：<br />
从事SP行业相关工作两年以上</font><br />
1年以上WAP相关工作经验<br />
开发和维护短信、WAP平台之上的应用系统； <br />
熟悉移动和联通WAP 1.2和2.0规范者以及熟悉wml者优先；<br />
熟悉VS.NET 2005 2008上的WAP开发工具<br />
<br />
有意者请发简历到：liangzhonghua@snda.com</font></p>
<img src ="http://www.cnblogs.com/coollzh/aggbug/1333333.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>招多名ASP.NET开发工程师[上海盛大网络] </title><link>http://www.cnblogs.com/coollzh/archive/2008/07/21/1247391.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Mon, 21 Jul 2008 02:02:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2008/07/21/1247391.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/1247391.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2008/07/21/1247391.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/1247391.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/1247391.html</trackback:ping><description><![CDATA[任职要求： <br />
大学本科以上学历，1年以上<font face="Verdana">ASP.NET</font>开发经验 <br />
熟悉ASP.NET2.0，熟悉ADO.NET编程模型，熟练掌握NET Framework 2.0, 3.5<br />
熟练使用Visual Studio.NET2005，2008开发工具 <br />
熟悉javascript,css <br />
熟悉一种以上数据库产品的开发和设计<br />
熟悉企业设计模式，具有大型企业级系统设计、开发、调优经验者优先 <br />
<br />
有意者请发邮件到：<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#97;&#110;&#103;&#122;&#104;&#111;&#110;&#103;&#104;&#117;&#97;&#64;&#115;&#110;&#100;&#97;&#46;&#99;&#111;&#109;"><font color="#1d58d1">liangzhonghua@snda.com</font></a><img src ="http://www.cnblogs.com/coollzh/aggbug/1247391.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47969/" target="_blank">新浪邮箱大本营粉墨登场！Sina.cn开放注册</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>二级域名导致asp.net中的Session_Id访问混乱并使用户访问产生异常</title><link>http://www.cnblogs.com/coollzh/archive/2007/06/01/767794.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Fri, 01 Jun 2007 07:32:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2007/06/01/767794.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/767794.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2007/06/01/767794.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/767794.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/767794.html</trackback:ping><description><![CDATA[csdn上有一篇帖子:<br><a href="http://topic.csdn.net/t/20051024/21/4347573.html">http://topic.csdn.net/t/20051024/21/4347573.html</a><br><span style="FONT-SIZE: 10pt; COLOR: #3366ff">原文如下：<br>一个问题，不知道是我孤陋寡闻还是一直没有注意，我觉得这是一个很常见的应用问题，但是好像没有看到以前有什么反应，现在来请教大家。 &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 2个域名，根域名相同，例如a.x.com和b.x.com &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 这两个域名的网站在不同的服务器，其中a.x.com上通过iframe嵌套了b.x.com的一个页面，例如 &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; &lt;iframe &nbsp; src="http://b.x.com/news.aspx" &nbsp; width="200" &nbsp; height="400"&gt;&lt;/iframe&gt; &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; a.x.com需要用户登录以后才能完全访问使用所有功能。 &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 现在的问题是，a.x.com时常会出现用户访问并没有登录，但是登录控件显示已经登录的状态，并出现另一个用户的信息。或者用户正常登录以后出现的是别人的信息。 &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 这种情况也会在用户通过b.x.com链接访问a.x.com的时候发生。 &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 经过调试和监测，我们发现用户在访问a.x.com的时候cookie中会获得两个session_id，导致用户无法正常识别。 &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 这个问题曾经还询问微软技术人员，但没有获得圆满答案</span>。 <br>__________________________________________________________________<br>思归的回答是：<br>&#8220;<span style="FONT-SIZE: 10pt">听上去很怪，即使是同一机器，Session应该跟Application有关的，不同Application应该有自己的Session，你对Session &nbsp; Cookie的Domain或Path做了什么手脚了么？&#8221;</span><br><br><span style="COLOR: #0000ff">思归的回答是基于Session 的模式是InProc的<br><strong>但是如果Session的模式是StateServer,这两个域名都连到同一台StateServer上，是不是Session真的就可以共享了？当然。各子站点在IIS里的ID都是一样的<br><br>有没有人做过测试，如果可以的话，asp.net下多子站点共享Session就可以实现了</strong></span><br><br>
<img src ="http://www.cnblogs.com/coollzh/aggbug/767794.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47968/" target="_blank">IE市场份额首次跌破60%</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>上海招聘若干.net开发人员</title><link>http://www.cnblogs.com/coollzh/archive/2007/04/16/715352.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Mon, 16 Apr 2007 07:10:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2007/04/16/715352.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/715352.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2007/04/16/715352.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/715352.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/715352.html</trackback:ping><description><![CDATA[.net软件工程师 3人 <br>任职要求： <br>1、大学本科以上学历，计算机及相关专业毕业，2年以上工作经验 <br>2、精通Windows平台下的Web技术开发，具有丰富的项目经验，熟悉ASP.NET，Javascript，熟悉ADO.NET编程模型，熟练掌握NET Framework, C#，熟练使用Visual Studio.NET开发工具 <br>3、具有良好的代码编写风格，熟悉Web程序代码安全 <br>4、善于与他人沟通、合作，具有团队精神，良好的自学能力 <br>5、熟悉数据库设计，了解数据库性能调优者优先 <br>6、熟悉企业设计模式，具有大型企业级系统设计、开发、调优经验者优先 <br>7、具有一定的项目管理经验者优先 <br>8、能熟练阅读英文技术文献 <br><br>有意请发邮件到 <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#104;&#108;&#105;&#97;&#110;&#103;&#122;&#104;&#111;&#110;&#103;&#104;&#117;&#97;&#64;&#115;&#110;&#100;&#97;&#46;&#99;&#111;&#109;"><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#108;&#105;&#97;&#110;&#103;&#122;&#104;&#111;&#110;&#103;&#104;&#117;&#97;&#64;&#115;&#110;&#100;&#97;&#46;&#99;&#111;&#109;">liangzhonghua@snda.com</a></a> 
<img src ="http://www.cnblogs.com/coollzh/aggbug/715352.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47965/" target="_blank">Google App Engine宕机6小时——云的安全在哪里？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>不要使用Microsoft Project的理由</title><link>http://www.cnblogs.com/coollzh/archive/2006/01/03/310106.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Tue, 03 Jan 2006 02:32:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2006/01/03/310106.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/310106.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2006/01/03/310106.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/310106.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/310106.html</trackback:ping><description><![CDATA[<DIV><BR>Microsoft Project是为了建造办公大楼设计的，而不是为了开发软件而设计的。 <BR>
<DIV>&nbsp;</DIV>
<DIV>Microsoft Project 的毛病在于，它认定你想花费大量的时间去关注依赖性，以至于完全不值得而正式个总他们而做出努力。</DIV>
<DIV>&nbsp;</DIV>
<DIV>Microsoft Project的另一个问题是，他认定你以后会希望能够通过按一个小按钮来&#8220;重新调整&#8221;进度表。这意味着他要重新安排任务并定重新交给不同的人去完成。对于软件而言，这没什么意义。程序员是不可互换的，如果试图让UI程序员去解决类似Winsock的问题，他会在原地踏步并浪费一周时间才能达到Winsock程序设计的速度。</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --- 摘自《Joel on Software》 <BR><BR>--- <SPAN style="COLOR: #0000ff"><font color=blue>本文不能完全代表本人观点，但是从敏捷开发的角度来说，用Microsoft Excel的效率和方便性胜过Project</font></SPAN></DIV></DIV><img src ="http://www.cnblogs.com/coollzh/aggbug/310106.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47961/" target="_blank">微软新推社交网站Windows Live Planet</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Using distributed transactions in .Net 1.x without deriving from ServicedComponent </title><link>http://www.cnblogs.com/coollzh/archive/2005/03/09/115813.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Wed, 09 Mar 2005 15:43:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2005/03/09/115813.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/115813.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2005/03/09/115813.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/115813.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/115813.html</trackback:ping><description><![CDATA[<h2><a id="viewpost.ascx_TitleUrl" href="http://blogs.msdn.com/florinlazar/archive/2004/07/24/194199.aspx">Using distributed transactions in .Net 1.x without deriving from ServicedComponent</a> </h2>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><font size="2">The most used feature of System.EnterpriseServices or COM+ is the distributed transaction support. And the automatic transaction programming model in ES using attributes ([Transaction] and [AutoComplete]) is great and nice but (it is always a but!)... you need to inherit from ServicedComponent and the Transaction attribute is only available at class level, and you need to register your component in the COM+ repository and the list can continue.<o:p></o:p></font>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><o:p><font size="2">&#160;</font></o:p>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><font size="2">If doing this seems overkill to you, because all you need is a distributed transaction to protect your code/actions and you don&#39;t care of any of the others ES features (which are great ones nevertheless) then there is a solution for you: System.EnterpriseServices.ServiceDomain. Here is some sample code:<o:p></o:p></font>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><span style="COLOR: black; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p><font size="2">&#160;</font></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;">using</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> System;<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;">using</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> System<span style="COLOR: aqua">.</span>EnterpriseServices;<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;">namespace</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> SDSample<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;">{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: blue">class</span> Class1<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160; </span>[MTAThread]<span style="mso-tab-count: 2">&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: blue">static</span> <span style="COLOR: blue">void</span> <st1:place w:st="on">Main</st1:place>(<span style="COLOR: blue">string</span>[] args)<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>ServiceConfig config = <span style="COLOR: blue">new</span> ServiceConfig(); <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;</span><span style="mso-spacerun: yes">&#160; </span>config.Transaction = TransactionOption<span style="COLOR: aqua">.</span>Required; <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>ServiceDomain<span style="COLOR: aqua">.</span>Enter(config);<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: blue">try<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>MyTxCode(); <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: blue">catch</span>(Exception e)<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: green">// we got an exception<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>Console.WriteLine(e<span style="COLOR: aqua">.</span>Message);<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: green">// so, we should abort the transaction<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>ContextUtil.SetAbort();<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: blue">finally<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>ServiceDomain.Leave(); <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: green">// The code that I want to be transactional<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: blue">static</span> <span style="COLOR: blue">void</span> MyTxCode() <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>{ <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>Console.WriteLine(ContextUtil.TransactionId);<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 3">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: green">// Open connection to database 1<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: green">// Execute update in database 1<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: green">// Open connection to database 2<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: green">// Execute update in database 2<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>} <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><span style="FONT-FAMILY: &#39;Lucida Console&#39;"><font size="2">}<o:p></o:p></font></span>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><span style="FONT-FAMILY: &#39;Lucida Console&#39;"><o:p><font size="2">&#160;</font></o:p></span>
</p><font size="2">
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt">Of course, you can go further and create a helper class, let&#8217;s call it ESTransactionScope (similar to <a href="http://blogs.msdn.com/florinlazar/archive/2004/07/23/192239.aspx">System.Transactions.TransactionScope</a> that will arrive in Whidbey) that will be very easy to use:<o:p></o:p>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><o:p>&#160;</o:p>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;">using</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> System;<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;">using</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> System<span style="COLOR: green">.</span>EnterpriseServices;<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;">namespace</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> SDSample2<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;">{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: blue">class</span> Class1<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>[MTAThread]<span style="mso-tab-count: 2">&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>static</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> <span style="COLOR: blue">void</span> <st1:place w:st="on">Main</st1:place>(<span style="COLOR: blue">string</span>[] args)<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>using</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;">( ESTransactionScope ts <span style="COLOR: green">=</span> <span style="COLOR: blue">new</span> ESTransactionScope())<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>MyTxCode();<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160; </span><span style="COLOR: green">// Everything went well, no exception thrown<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span>// so let&#8217;s vote for Commit<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>ts.Complete();<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>static</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> <span style="COLOR: blue">void</span> MyTxCode() <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>{ <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>Console.WriteLine(ContextUtil<span style="COLOR: aqua">.</span>TransactionId);<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 3">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>// Open connection to database 1<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>// Execute update in database 1<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>// Open connection to database 2<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>// Execute update in database 2</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 3">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160;&#160;</span>} <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>// Used to create transactional code blocks</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>class</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"> ESTransactionScope : IDisposable<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160;&#160; </span>// Dispose must be called to exit the transactional block</span><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: blue">public</span> <span style="COLOR: blue">void</span> Dispose()<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>{<span style="mso-tab-count: 3">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span><span style="COLOR: blue">if</span>(!<span style="COLOR: blue">this</span>.Consistent)<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;</span><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160; </span>ContextUtil.SetAbort();<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>ServiceDomain.Leave();<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>}</span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"></span>&#160;
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;">&#160;&#160;&#160;&#160;&#160;&#160;<font color="#008000">// by calling this method, you mark the scope as being consistent</font></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><font color="#008000">&#160;&#160;&#160;&#160;&#160;&#160;// and ready to for commit</font></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><font color="#008000">&#160;&#160;&#160;&#160;&#160;&#160;// if the method is never called, upon dispose, the scope will abort the transaction</font>&#160;</span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;&#160;&#160;&#160;&#160;&#160;<span style="COLOR: blue">public</span> <span style="COLOR: blue">void</span> Complete()</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;&#160;&#160;&#160;&#160;&#160;{</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this.Consistent = <font color="#0000ff">true</font>;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: blue">public</span> ESTransactionScope()<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>{<span style="mso-tab-count: 3">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>EnterTxContext(TransactionOption<span style="COLOR: aqua">.</span>Required);<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: blue">public</span> ESTransactionScope(TransactionOption txOption)<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>EnterTxContext(txOption);<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: blue">private</span> <span style="COLOR: blue">void</span> EnterTxContext(TransactionOption txOption)<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>{<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>ServiceConfig config = <span style="COLOR: blue">new</span> ServiceConfig(); <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>config<span style="COLOR: aqua">.</span>Transaction = txOption; <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="mso-spacerun: yes">&#160;&#160; </span>ServiceDomain.Enter(config);<span style="mso-tab-count: 2">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </span><o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><o:p>&#160;</o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: green">// By default, the scope is inconsistent;<o:p></o:p></span></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span>// To Commit the transaction on exit, the Consistent flag <o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;</span><span style="mso-spacerun: yes">&#160;&#160;&#160;&#160; </span>// must be set to true before Dispose is called<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-tab-count: 1">&#160;&#160;&#160;&#160;&#160; </span><span style="COLOR: blue">private </span><span style="COLOR: blue">bool</span> Consistent = <span style="COLOR: blue">false</span>;<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;"><span style="mso-spacerun: yes">&#160;&#160; </span>}<o:p></o:p></span>
</p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"><span style="FONT-SIZE: 10pt; FONT-FAMILY: &#39;Lucida Console&#39;">}<o:p></o:p></span>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><o:p>&#160;</o:p>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><font size="2">System.EnterpriseServices.ServiceDomain is available only on XP SP2 (or higher) and Windows Server 2003 and only in .Net 1.1.<o:p></o:p></font>
</p></font>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><font size="2"><span style="mso-spacerun: yes">&#160;</span><o:p></o:p></font>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><font size="2">If you need your app to work with .Net 1.0 or on Windows 2000 or XP pre-SP2, you can use the trick that Don Box posted at </font><a href="http://www.gotdotnet.com/team/dbox/default.aspx?key=2004-07-12T08:40:44Z"><font size="2">http://www.gotdotnet.com/team/dbox/default.aspx?key=2004-07-12T08:40:44Z</font></a><font size="2"> <span style="mso-spacerun: yes">&#160;</span>It uses exactly one transactional ServicedComponent based class and a DoCallback method to which you pass the delegate to your MyTxCode function that needs to execute in a transaction.<o:p></o:p></font>
</p>
<p class="MsoPlainText" style="MARGIN: 0in 0in 0pt"><o:p><font size="2">&#160;</font></o:p>
</p><img src ="http://www.cnblogs.com/coollzh/aggbug/115813.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>.NET下的开发者们正在继承计算机早期时代伟大的黑客精神</title><link>http://www.cnblogs.com/coollzh/archive/2005/01/08/88722.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Sat, 08 Jan 2005 10:13:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2005/01/08/88722.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/88722.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2005/01/08/88722.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/88722.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/88722.html</trackback:ping><description><![CDATA[<p>以下来自《程序员》2005第一期 
<br/>&#160;&#160;&#160; &#8220;纵观整个.NET阵营，给人留下最深刻印象的，也许不是它在技术上的具体成就，而是它的活力本身。身为C++元老的Stan Lippman说过这样一段话：&#39;......只有少数几个人在努力进行技术创新，努力向人们提供更具有创新性的计算环境，让人们更加自由自在。微软就是这少数人中的一个。我在微软工作，那气氛让我似乎回到了十多年前。&#39;, 这段话并非有没有道理。.NET 2.0的探索，C++/CLI的创新，Delphhi for .NET的勇敢尝试，Avalon/Indigo的宏伟蓝图，似乎都能令人产生这样的一个印象： 
<br/>.NET下的开发者们正在继承计算机早期时代伟大的黑客精神。 &quot; 
<br/>
<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; -- 文 / 左轻候 
<br/>这段从某个角度可以做为.NET技术在2004总结的，2005的展望。。。 
</p><img src ="http://www.cnblogs.com/coollzh/aggbug/88722.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47959/" target="_blank">Google对手机搜索进行优化升级</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>上海著名网络公司招聘高级软件工程师</title><link>http://www.cnblogs.com/coollzh/archive/2005/01/06/87605.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Thu, 06 Jan 2005 12:13:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2005/01/06/87605.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/87605.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2005/01/06/87605.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/87605.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/87605.html</trackback:ping><description><![CDATA[<p>.net高级软件工程师&#160; 2人 
<br/>岗位职责： 
<br/>负责项目的总体架构设计、分层详细设计，代码编写；负责项目的管理，对于软件工程师提供技术指导。 
<br/>任职要求： 
<br/>1、大学本科及以上学历，计算机及相关专业，三年以上工作经验 
<br/>2、精通面向对象分析设计，具有大型企业级系统设计、开发、调优经验 
<br/>3、精通.NET Framework, C#，熟练使用Visual Studio.NET开发工具，精通ASP.NET编程模型，精通ADO.NET编程模型 
<br/>4、熟悉SQL Server或Oracle大型数据库系统，熟悉SQL存储过程的编写 
<br/>5、具有完整的应用开发周期经验，熟悉设计、编码、测试、实施等各阶段工作，有丰富的项目管理经验 
<br/>6、具有适当领导和组织才能，能够带领技术团队创造核心技术，引导团队的技术发展 
<br/>7、具有熟练的英语听说读写能力 
<br/>
</p>
<p>.net软件工程师 4人 
<br/>任职要求： 
<br/>1、大学本科以上学历，计算机及相关专业毕业，2年以上工作经验 
<br/>2、精通Windows平台下的Web技术开发，具有丰富的项目经验，熟悉ASP.NET，Javascript，熟悉ADO.NET编程模型，熟练掌握NET Framework, C#，熟练使用Visual Studio.NET开发工具 
<br/>3、具有良好的代码编写风格，熟悉Web程序代码安全 
<br/>4、善于与他人沟通、合作，具有团队精神，良好的自学能力 
<br/>5、熟悉数据库设计，了解数据库性能调优者优先 
<br/>6、熟悉企业设计模式，具有大型企业级系统设计、开发、调优经验者优先 
<br/>7、具有一定的项目管理经验者优先 
<br/>8、能熟练阅读英文技术文献 
<br/>
<br/>
</p>
<p>C/C++软件工程师 1人 
<br/>任职要求： 
<br/>1、&#160;大学本科以上学历，计算机及相关专业毕业，2年以上工作经验 
<br/>2、&#160;熟练掌握C/C++，熟练使用VC++等开发工具，精通Windows编程 
<br/>3、&#160;善于与他人沟通、合作，具有团队精神，良好的自学能力 
<br/>4、&#160;熟悉计费相关业务者优先 
<br/>5、&#160;熟悉.net技术架构者优先 
<br/>6、&#160;具有一定的项目管理经验者优先 
<br/>
</p>
<p>7、能熟练阅读英文技术文献 
<br/>
<br/>SQL Server数据库管理员 1人 
<br/>任职要求： 
<br/>1、&#160;大学本科以上学历，计算机及相关专业毕业，2年以上工作经验 
<br/>2、&#160;精通SQL Server2000，有1年或以上大型数据库维护管理经验 
<br/>3、&#160;熟悉数据库设计、性能调优和查错，精通存储过程编写 
<br/>4、&#160;有数据库相关应用程序开发经验者优先 
<br/>5、能熟练阅读英文技术文献 
<br/>熟悉asp.net或者.net者优先 
</p><img src ="http://www.cnblogs.com/coollzh/aggbug/87605.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47958/" target="_blank">风声又起 Windows 7 RTM版7月13日完成</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>即将过的2004</title><link>http://www.cnblogs.com/coollzh/archive/2004/12/20/79476.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Mon, 20 Dec 2004 04:37:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2004/12/20/79476.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/79476.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2004/12/20/79476.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/79476.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/79476.html</trackback:ping><description><![CDATA[<p>看到别人在总结即将过的2004,感觉非常惭愧，2004我都做了什么？
<br/>
<br/>1.年初辞职，再次投入到.net的怀抱，决定不再三心二意
<br/>2.为了工作方便，搬到浦东一个偏僻的地方
<br/>3.在博客园开始写blog,感谢dudu,认识了一批朋友
<br/>4.今年技术上没有太大长进，惭愧，关注软件工程和项目管理
<br/>5. 因电子商务的需要，对网络加密，签名，证书有了一个深刻的认识，算是一个小小收获
<br/>6.第一次实施一个企业级网络负载均衡的电子商务系统
<br/>7.2年多没回老家，惭愧的很。。。。
<br/>
<br/>每天碌碌，不知道在忙些什么......,惭愧得很呀。
<br/>
</p>
<p></p><img src ="http://www.cnblogs.com/coollzh/aggbug/79476.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>URLRewriting的问题</title><link>http://www.cnblogs.com/coollzh/archive/2004/12/11/75471.html</link><dc:creator>coollzh</dc:creator><author>coollzh</author><pubDate>Fri, 10 Dec 2004 17:28:00 GMT</pubDate><guid>http://www.cnblogs.com/coollzh/archive/2004/12/11/75471.html</guid><wfw:comment>http://www.cnblogs.com/coollzh/comments/75471.html</wfw:comment><comments>http://www.cnblogs.com/coollzh/archive/2004/12/11/75471.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/coollzh/comments/commentRss/75471.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/coollzh/services/trackbacks/75471.html</trackback:ping><description><![CDATA[本来以为URLRewriting的一般应用实现起来应该比较简单，但今天遇到了一个其中的一些限制，贴出来给大家共享： 
<br/>假设用户可以看得虚页面时A.aspx,实际转向的物理页面是B.aspx 
<br/>
<br/>分一下几种情况： 
<br/>1.从A过来的请求不带任何QueryString和post参数，则可以成功的转向B 
<br/>
<br/>2.如果A过来的请求带post参数，也可以成功的转向B，B也可以成功接受post参数 
<br/>
<br/>3.如果A过来的参数带QueryString参数，可以成功转向B,但B不能接收到A的QueryStriing参数 
<br/>
<br/>好了，现在如果你的A页面传递给B,怎么办呢？ 
<br/>
<br/>方式是在Rewrite的时候，通过HttpContext.Current.Request.QueryString取到这些参数，然后把这些参数副到B上即可。 
<br/>
<br/>可是现在问题出来了，如果A页面没有传递QueryString参数，而你却不知道，仍旧用上面的方法来处理，在转向的时候就会出现FileNotFoundException.告诉你找不到A页面<img height="19" src="http://www.cnblogs.com/Emoticons/emdgust.gif" width="19" align="absMiddle" border="0" />。 
<br/>
<br/>我们在进行URLRewriting的时候，并不一定知道那些请求是否会带参数，在进行统一处理的时候，该怎么办呢？ 
<br/>还好，我的这个项目，我是知道那些url带参数，那些不带<img height="19" src="http://www.cnblogs.com/Emoticons/emwink.gif" width="19" align="absMiddle" border="0" /><img src ="http://www.cnblogs.com/coollzh/aggbug/75471.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47956/" target="_blank">Xbox Live将投放Silverlight广告</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>