<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-12815393</id><updated>2008-10-29T15:36:53.270Z</updated><title type='text'>[Serializable]     DB.NET</title><subtitle type='html'>Daniel Balla's Weblog - Various posts on .NET Development, ASP.NET, Agile, Architecture, SQL and others.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/'/><link rel='next' type='application/atom+xml' href='http://www.serializable.co.uk/atom.xml?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.serializable.co.uk/atom.xml'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>30</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12815393.post-9139156110829127572</id><published>2007-03-29T22:33:00.000+01:00</published><updated>2007-03-29T22:50:20.155+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Webhosting'/><title type='text'>Google apps - cheap alternative to mail server upgrade</title><content type='html'>This is sort of old news, but still worth mentioning as it doesn't seem to be very popular at the moment. &lt;br /&gt;Do you have a cheap, modest hosting and do you like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;gmail&lt;/span&gt;? If yes, then you will love this:&lt;br /&gt; Google offers a free &lt;a href="https://www.google.com/a/help/intl/en/admins/editions.html"&gt;Google apps&lt;/a&gt; membership for "families and groups". What's the catch? Well, you can keep your cheap hosting but use the a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;google&lt;/span&gt; email server, with a 2 GB mailbox and all the features of a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;gmail&lt;/span&gt;-like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;webmail&lt;/span&gt; on top, for free. All you need to do is sign up and then change your &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;MX&lt;/span&gt; records with your host's &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DNS&lt;/span&gt; (they will probably do that for you, most hosts do because at the end of the day it only means less traffic on their server).&lt;br /&gt;I no longer use this because I got a better &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;webhost&lt;/span&gt; this year, but I tried it and I loved it.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/9139156110829127572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=9139156110829127572' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/9139156110829127572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/9139156110829127572'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2007/03/google-apps-cheap-alternative-to-mail.html' title='Google apps - cheap alternative to mail server upgrade'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-5531232019965447314</id><published>2007-03-23T22:40:00.000Z</published><updated>2007-03-24T23:30:07.654Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Row level validation in a gridview</title><content type='html'>A couple days ago a friend asked me how can you make the ASP.NET validators validate the contents of a gridview at row level, so that each row works independently. For example, in the grid below use a requiredfieldvalidator on each row so that the &lt;span style="font-style: italic;"&gt;Save &lt;/span&gt;button would validate the description textbox on the same row, but wouldn’t validate any of the other rows’ descriptions.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.serializable.co.uk/download/gridvalidation.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;In this case, clicking the save button in the “Dairy products” row would cause the validation to suppress the postback, but clicking the save button of any other row wouldn’t.&lt;br /&gt;The solution is simple: use the validation group bound to a unique row identifier. In our example (which displays the contents of the Categories table of the Northwind database) the binding would look like:&lt;br /&gt;&lt;br /&gt;&lt;asp:textbox width="300px" id="txtDescription" runat="server" text=""&gt;(asp:TextBox Width="300px" ID="txtDescription" runat="server" Text='(%# Bind("Description") %)' /)&lt;br /&gt;(asp:RequiredFieldValidator ID="reqDescription" runat="server" ControlToValidate="txtDescription" ErrorMessage="*" ValidationGroup='(%# Bind("CategoryID") %)' /)&lt;br /&gt;(asp:Button ID="butSave" runat="server" Text="Save" ValidationGroup='(%# Bind("CategoryID") %)' /)&lt;br /&gt;&lt;br /&gt;The parenthesis ( ) should be replaced with less-greater than signs &lt; &gt;, they are just a workaround the poor blogger’s editor.&lt;br /&gt;&lt;asp:requiredfieldvalidator id="reqDescription" runat="server" controltovalidate="txtDescription" errormessage="*" validationgroup=""&gt;&lt;asp:button id="butSave" runat="server" text="Save" validationgroup=""&gt;&lt;br /&gt;&lt;a href="http://www.serializable.co.uk/download/gridvalidation.zip"&gt;Download sample&lt;/a&gt;&lt;/asp:button&gt;&lt;/asp:requiredfieldvalidator&gt;&lt;/asp:textbox&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/5531232019965447314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=5531232019965447314' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/5531232019965447314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/5531232019965447314'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2007/03/row-level-validation-in-gridview.html' title='Row level validation in a gridview'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-3297093250210155314</id><published>2006-11-22T13:24:00.000Z</published><updated>2006-11-22T15:19:23.216Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Script controls may not be registered before PreRender</title><content type='html'>This is neither a very common scenario nor a major finding, just a small reminder/warning to spare you a little debugging for one of those things that are fairly obvious yet could take some time to see.&lt;br /&gt;While helping a friend figure out why his ASP.NET no longer works after "atlasising" it I came across this issue:&lt;br /&gt;The page was throwing the following exception:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Script controls may not be registered before PreRender.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Exception Details: System.InvalidOperationException: Script controls may not be registered before PreRender.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Source Error:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Stack Trace:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[InvalidOperationException: Script controls may not be registered before PreRender.]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   Microsoft.Web.UI.ScriptControlManager.RegisterScriptControl(TScriptControl scriptControl) +144&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   Microsoft.Web.UI.UpdateProgress.OnPreRender(EventArgs e) +140&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   System.Web.UI.Control.PreRenderRecursiveInternal() +77&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   System.Web.UI.Control.PreRenderRecursiveInternal() +161&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   System.Web.UI.Control.PreRenderRecursiveInternal() +161&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   System.Web.UI.Control.PreRenderRecursiveInternal() +161&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As the page worked before it had the atlas references and an update panel added (and out of laziness) instead of properly reading the source code I proffered to google the error and the only relevant result was http://forums.asp.net/thread/1471314.aspx where the suggestion was that an older version of the DLL might be cached somewhere. Here is where I went wrong and spent a lot of time clearing and rebuilding. On a second look, I found that the page's OnPreRender method was overridden and it didn't call the base OnPreRender method therefore loosing some handlers. Obviously this mistake didn't do much difference before atlas came into play but it did afterwards because the Atlas ScriptControlManager's RegisterScriptControl method doesn't register the control but after prerender (by checking a flag it sets on prerender)&lt;br /&gt;&lt;br /&gt;public void RegisterScriptControl&lt;tscriptcontrol&gt;(TScriptControl scriptControl) where TScriptControl: Control, IScriptControl&lt;br /&gt;{&lt;br /&gt;     if (scriptControl == null)&lt;br /&gt;     {&lt;br /&gt;           throw new ArgumentNullException("scriptControl");&lt;br /&gt;     }&lt;br /&gt;     if (!this._pagePreRenderRaised)&lt;br /&gt;     {&lt;br /&gt;           throw new InvalidOperationException(AtlasWeb.ScriptControlManager_RegisterScriptControlTooEarly);&lt;br /&gt;     }&lt;br /&gt;     this.ScriptControls.Add(scriptControl);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void OnPagePreRender(object sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;     this._pagePreRenderRaised = true;&lt;br /&gt;}&lt;/tscriptcontrol&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/3297093250210155314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=3297093250210155314' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/3297093250210155314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/3297093250210155314'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/11/script-controls-may-not-be-registered.html' title='Script controls may not be registered before PreRender'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-3984414314930446390</id><published>2006-11-21T19:56:00.000Z</published><updated>2006-11-21T20:49:29.495Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Unable to preview web service</title><content type='html'>Seldom, but still a possible scenario: when trying to preview the generated service description for an asmx web service (both .NET 1.1  and .NET 2.0) you might get an error that is not very well described:&lt;br /&gt;&lt;br /&gt;Line 1334:    OperationBinding FindHttpBinding(string verb) {&lt;br /&gt;Line 1335:        foreach (ServiceDescription description in serviceDescriptions) {&lt;br /&gt;Line 1336:            foreach (Binding binding in description.Bindings) {&lt;br /&gt;Line 1337:                HttpBinding httpBinding = (HttpBinding)binding.Extensions.Find(typeof(HttpBinding));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The real issue is that in your web application’s web.config file in the pages element you probably have the &lt;span style="font-weight: bold;"&gt;autoEventWireup &lt;/span&gt;attribute set to false&lt;br /&gt;&amp;lt;pages … autoEventWireup="false"…&lt;br /&gt;&lt;br /&gt;If you want to trace the problem, you can open the DefaultWsdlHelpGenerator.aspx file (located under &lt;span style="font-style: italic;"&gt;%windir\Microsoft.NET\Framework\[version]\CONFIG\DefaultWsdlHelpGenerator.aspx&lt;/span&gt;) and you would notice that the error is that the serviceDescriptions member is used without being initialized (therefore the null object reference exception). Looking up in the page you notice that the serviceDescriptions member is initialized&lt;br /&gt;(as:&lt;br /&gt;serviceDescriptions = (ServiceDescriptionCollection) Context.Items["wsdlsWithPost"];&lt;br /&gt;or&lt;br /&gt;serviceDescriptions = (ServiceDescriptionCollection) Context.Items["wsdls"];)&lt;br /&gt;in the Page_Load method. However, because your settings disable the autoeventwireup that prevents the Page_Load methods from being called (it is not explicitly wired to the page load event so it relies entirely on the autoeventwireup feature).&lt;br /&gt;&lt;br /&gt;Surely this isn’t a big finding and it wouldn’t save you more than 5 minutes of debugging but it is worth mentioning because it is a “red wiring” in the framework.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/3984414314930446390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=3984414314930446390' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/3984414314930446390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/3984414314930446390'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/11/unable-to-preview-web-service.html' title='Unable to preview web service'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-4392181727094923530</id><published>2006-11-07T20:13:00.000Z</published><updated>2006-11-07T23:50:02.119Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='.net 3'/><title type='text'>.NET Framework 3 is here</title><content type='html'>After loosing several things, such as its name  (looks like &lt;a href="http://www.petitiononline.com/winfx/petition.html"&gt;the petition&lt;/a&gt; to keep the "WinFX" name wasn't considered), object spaces, LINQ/DLINQ/XLINQ/BLINQ, C# 3.0 (which is promised in the final version of Orcas), finally &lt;a href="http://www.netfx3.com/blogs/news_and_announcements/archive/2006/11/06/.NET-Framework-3.0-has-been-released_2100_.aspx"&gt;.NET framework 3 is here&lt;/a&gt; now. I guess I'm not the only one who had to descope stuff this sprint ;)&lt;br /&gt;With no direct connection, Atlas beta 2 and november CTP (another name lost on the way) is now released:&lt;br /&gt;&lt;a class="" title="ASP.NET 2.0 AJAX Extensions Beta 2" href="http://go.microsoft.com/fwlink/?LinkID=77296" target="_blank"&gt;ASP.NET 2.0 AJAX Extensions Beta 2&lt;/a&gt;&lt;br /&gt;&lt;a class="" title="ASP.NET AJAX Futures November CTP" href="http://go.microsoft.com/fwlink/?LinkID=77294" target="_blank"&gt;ASP.NET AJAX Futures November CTP&lt;/a&gt;&lt;br /&gt;&lt;a class="" title="ASP.NET AJAX Samples" href="http://go.microsoft.com/fwlink/?LinkID=77295" target="_blank"&gt;ASP.NET AJAX Samples&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/4392181727094923530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=4392181727094923530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/4392181727094923530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/4392181727094923530'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/11/net-framework-3-is-here.html' title='.NET Framework 3 is here'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-116009375800930275</id><published>2006-10-06T00:34:00.000+01:00</published><updated>2006-11-07T20:22:33.650Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><title type='text'>Minor bug in WF 3.0 RC1 designer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1729/1103/1600/workflowEvent.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/1729/1103/320/workflowEvent.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;As stated in my previous post, the WF designer in version beta 2.2 was poor. It was very slow and came up with some non-sense error every 10 minutes or so. The changes in version 3.0 RC are obvious: the designer is still a bit slow but very stable. You can hardly fault it. However, I've noticed a small bug: if you define an event arguments class derived from &lt;span style="color: rgb(0, 0, 153);"&gt;ExternalDataEventArgs&lt;span style="color: rgb(0, 0, 0);"&gt; and use it to wire up an event to a  handleExternalEventActivity even though it does compile and work just fine the designer shows it as an error (as shown in the image).&lt;br /&gt;&lt;br /&gt;Let's take an example. We define an event arguments class inherited from &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;ExternalDataEventArgs&lt;span style="color: rgb(0, 0, 0);"&gt; such as:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[Serializable]&lt;br /&gt;public class MyExternalDataEventArgs : ExternalDataEventArgs&lt;br /&gt;{&lt;br /&gt;  public MyExternalDataEventArgs(Guid instanceID) : base(instanceID)&lt;br /&gt;  {&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Then we define the data exchange interface:&lt;br /&gt;&lt;br /&gt;[ExternalDataExchange]&lt;br /&gt;public interface IExternalEvents&lt;br /&gt;{&lt;br /&gt;  event EventHandler&lt;myexternaldataeventargs&gt; MyEvent;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;and then we create a workflow, drag a handle external event activity on the flow and wire it to our IExternalEvents interface and MyEvent event - which translates to:&lt;br /&gt;&lt;br /&gt;this.handleExternalEventActivity1.EventName = "MyEvent";&lt;br /&gt;          this.handleExternalEventActivity1.InterfaceType = typeof(DerivedWorkflowClass.IExternalEvents);&lt;br /&gt;          this.handleExternalEventActivity1.Name = "handleExternalEventActivity1";&lt;br /&gt;&lt;br /&gt;Now we can see the error icon, but still we can build the project with no problem, not even a warning.&lt;br /&gt;&lt;br /&gt;That being said, sometimes as you come in and out of the designer the error icon disappears and the re-appears, but I couldn't see any patter in this behavior and most of the times the error icon is on.&lt;br /&gt;&lt;br /&gt;This issue comes up on RC1 of .NET Framework 3.0 Runtime Components using:&lt;br /&gt;Extensions for Windows WF  &lt;br /&gt;Windows Workflow Foundation Tools for Visual Studio&lt;br /&gt;&lt;br /&gt;Orcas Technology Preview - .NET Framework 3.0 Development Tools   1.0&lt;br /&gt;Microsoft Visual Studio Code Name Orcas Community Technology Preview - Development Tools for WinFX&lt;br /&gt;&lt;br /&gt;I will report the bug on http://connect.microsoft.com/wf tomorrow. However, my point here is that after a month of pretty intense development on WF 3 RC1 this is the only bug I've found and as you can see it is a minor inconvenient so I guess it backs up the previous post proving that it is a stable release.&lt;br /&gt;&lt;/myexternaldataeventargs&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/116009375800930275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=116009375800930275' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/116009375800930275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/116009375800930275'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/10/minor-bug-in-wf-30-rc1-designer.html' title='Minor bug in WF 3.0 RC1 designer'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-115983182191467322</id><published>2006-10-03T00:11:00.000+01:00</published><updated>2006-11-07T20:22:50.642Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><title type='text'>What's new in WF 3.0 RC</title><content type='html'>Don't trust the title, it is misleading. This isn't a real "what's new" article, and I won't bother you with obvious things, such as the removal of FaultHandlerActivity's Fault property setter ... CompensatableTransactionScopeActivity (I thought I use to make up long class names), blah blah blah ... you could read that on http://wf.netfx3.com/ or on &lt;a href="http://blogs.msdn.com/pandrew"&gt;Paul Andrew's blog&lt;span style="line-height: 115%;font-family:Arial;font-size:10;"  lang="EN-US" &gt;&lt;/span&gt;&lt;/a&gt; or so on... I just mean to express my surprise on the changes in the WF designer! It is 1000 times more stable and you don't get as many silly errors, and maybe it's just me but I feel it's even moving faster. Cheers for that!&lt;br /&gt;It's amazing how (without acknowledging it) those small fixes in the flaky designer build up your confidence.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/115983182191467322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=115983182191467322' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115983182191467322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115983182191467322'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/10/whats-new-in-wf-30-rc.html' title='What&apos;s new in WF 3.0 RC'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-115982261360738410</id><published>2006-10-02T21:44:00.000+01:00</published><updated>2006-10-02T21:57:45.506+01:00</updated><title type='text'>Event code snippet</title><content type='html'>Indeed, most times you write the events at a time, maybe in a region and the trigger methods afterwards in another region; but then you do the same with local fields and properties, and yet the prop snippet comes in handy. Therefore I thought a simple &lt;a href="http://www.websolutions.ro/download/snippets/event.snippet"&gt;event code snippet&lt;/a&gt; would be useful. You can &lt;a href="http://www.websolutions.ro/download/snippets/event.zip"&gt;download it here&lt;/a&gt; and then copy it to your Program Files\Microsoft Visual Studio 8\VC#\Snippets\1033\Visual C#\ directory&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;&amp;lt;CodeSnippets  xmlns=&amp;quot;http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;CodeSnippet Format=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;Header&amp;gt;&lt;br /&gt;            &amp;lt;Title&amp;gt;event&amp;lt;/Title&amp;gt;&lt;br /&gt;            &amp;lt;Shortcut&amp;gt;event&amp;lt;/Shortcut&amp;gt;&lt;br /&gt;            &amp;lt;Description&amp;gt;Code snippet to created and document an event&amp;lt;/Description&amp;gt;&lt;br /&gt;            &amp;lt;Author&amp;gt;Daniel Balla&amp;lt;/Author&amp;gt;&lt;br /&gt;            &amp;lt;SnippetTypes&amp;gt;&lt;br /&gt;                &amp;lt;SnippetType&amp;gt;Expansion&amp;lt;/SnippetType&amp;gt;&lt;br /&gt;            &amp;lt;/SnippetTypes&amp;gt;&lt;br /&gt;        &amp;lt;/Header&amp;gt;&lt;br /&gt;        &amp;lt;Snippet&amp;gt;&lt;br /&gt;            &amp;lt;Declarations&amp;gt;&lt;br /&gt;                &amp;lt;Literal&amp;gt;&lt;br /&gt;                    &amp;lt;ID&amp;gt;event&amp;lt;/ID&amp;gt;&lt;br /&gt;                    &amp;lt;ToolTip&amp;gt;Event name&amp;lt;/ToolTip&amp;gt;&lt;br /&gt;                    &amp;lt;Default&amp;gt;MyEvent&amp;lt;/Default&amp;gt;&lt;br /&gt;                &amp;lt;/Literal&amp;gt;&lt;br /&gt;                &amp;lt;Literal&amp;gt;&lt;br /&gt;                    &amp;lt;ID&amp;gt;eventArgs&amp;lt;/ID&amp;gt;&lt;br /&gt;                    &amp;lt;ToolTip&amp;gt;Event arguments type&amp;lt;/ToolTip&amp;gt;&lt;br /&gt;                    &amp;lt;Default&amp;gt;EventArgs&amp;lt;/Default&amp;gt;&lt;br /&gt;                &amp;lt;/Literal&amp;gt;&lt;br /&gt;            &amp;lt;/Declarations&amp;gt;&lt;br /&gt;            &amp;lt;Code Language=&amp;quot;csharp&amp;quot;&amp;gt;&amp;lt;![CDATA[#region Event Handler $event$ ($eventArgs$)&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// This event is fired when |&lt;br /&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        public event EventHandler $event$;&lt;br /&gt;        #endregion&lt;br /&gt;        #region Event notification $event$&lt;br /&gt;        /// &amp;lt;summary&amp;gt;&lt;br /&gt;        /// Notifies the listeners of the $event$ event&lt;br /&gt;        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;        /// &amp;lt;param name=&amp;quot;e&amp;quot;&amp;gt;The argument to send to the listeners&amp;lt;/param&amp;gt;&lt;br /&gt;        protected virtual void On$event$($eventArgs$ e) {&lt;br /&gt;            if($event$ != null) {&lt;br /&gt;                $event$(this,e);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        #endregion$end$]]&amp;gt;&lt;br /&gt;            &amp;lt;/Code&amp;gt;&lt;br /&gt;        &amp;lt;/Snippet&amp;gt;&lt;br /&gt;    &amp;lt;/CodeSnippet&amp;gt;&lt;br /&gt;&amp;lt;/CodeSnippets&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/115982261360738410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=115982261360738410' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115982261360738410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115982261360738410'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/10/event-code-snippet.html' title='Event code snippet'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-115746956305259038</id><published>2006-09-05T16:10:00.000+01:00</published><updated>2006-09-05T16:24:38.286+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net 3'/><title type='text'>Dependency property code snippet</title><content type='html'>As I came across the dependency property (which hit me right when I started developing WinFX) I've created &lt;a href="http://www.websolutions.ro/download/snippets/dprop.snippet"&gt;this code snippet&lt;/a&gt; to spare me of writting the code every time (the dependency property and the backing property).&lt;br /&gt;You can &lt;a href="http://www.websolutions.ro/download/snippets/dprop.zip"&gt;download it here&lt;/a&gt; and then copy it to your &lt;span style="font-style: italic;"&gt;Program Files\Microsoft Visual Studio 8\VC#\Snippets\1033\Visual C#\&lt;/span&gt; directory&lt;br /&gt;or you can copy/paste the snippet:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;&amp;lt;CodeSnippets  xmlns=&amp;quot;http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;CodeSnippet Format=&amp;quot;1.0.0&amp;quot;&amp;gt;&lt;br /&gt;        &amp;lt;Header&amp;gt;&lt;br /&gt;            &amp;lt;Title&amp;gt;dprop&amp;lt;/Title&amp;gt;&lt;br /&gt;            &amp;lt;Shortcut&amp;gt;dprop&amp;lt;/Shortcut&amp;gt;&lt;br /&gt;            &amp;lt;Description&amp;gt;Code snippet for dependancy property and backing property&amp;lt;/Description&amp;gt;&lt;br /&gt;            &amp;lt;Author&amp;gt;Daniel Balla&amp;lt;/Author&amp;gt;&lt;br /&gt;            &amp;lt;SnippetTypes&amp;gt;&lt;br /&gt;                &amp;lt;SnippetType&amp;gt;Expansion&amp;lt;/SnippetType&amp;gt;&lt;br /&gt;            &amp;lt;/SnippetTypes&amp;gt;&lt;br /&gt;        &amp;lt;/Header&amp;gt;&lt;br /&gt;        &amp;lt;Snippet&amp;gt;&lt;br /&gt;            &amp;lt;Declarations&amp;gt;&lt;br /&gt;                &amp;lt;Literal&amp;gt;&lt;br /&gt;                    &amp;lt;ID&amp;gt;type&amp;lt;/ID&amp;gt;&lt;br /&gt;                    &amp;lt;ToolTip&amp;gt;Property type&amp;lt;/ToolTip&amp;gt;&lt;br /&gt;                    &amp;lt;Default&amp;gt;string&amp;lt;/Default&amp;gt;&lt;br /&gt;                &amp;lt;/Literal&amp;gt;&lt;br /&gt;                &amp;lt;Literal&amp;gt;&lt;br /&gt;                    &amp;lt;ID&amp;gt;property&amp;lt;/ID&amp;gt;&lt;br /&gt;                    &amp;lt;ToolTip&amp;gt;Property name&amp;lt;/ToolTip&amp;gt;&lt;br /&gt;                    &amp;lt;Default&amp;gt;MyProperty&amp;lt;/Default&amp;gt;&lt;br /&gt;                &amp;lt;/Literal&amp;gt;&lt;br /&gt;                &amp;lt;Literal Editable=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;                    &amp;lt;ID&amp;gt;classname&amp;lt;/ID&amp;gt;&lt;br /&gt;                    &amp;lt;ToolTip&amp;gt;Class name&amp;lt;/ToolTip&amp;gt;&lt;br /&gt;                    &amp;lt;Function&amp;gt;ClassName()&amp;lt;/Function&amp;gt;&lt;br /&gt;                    &amp;lt;Default&amp;gt;ClassNamePlaceholder&amp;lt;/Default&amp;gt;&lt;br /&gt;                &amp;lt;/Literal&amp;gt;&lt;br /&gt;            &amp;lt;/Declarations&amp;gt;&lt;br /&gt;            &amp;lt;Code Language=&amp;quot;csharp&amp;quot;&amp;gt;&amp;lt;![CDATA[public static DependencyProperty $property$Property =&lt;br /&gt;            DependencyProperty.Register(&amp;quot;$property$&amp;quot;,&lt;br /&gt;            typeof($type$), typeof($classname$));&lt;br /&gt;&lt;br /&gt;public $type$ $property$&lt;br /&gt;{&lt;br /&gt;    get { return (($type$)base.GetValue($property$Property)); }&lt;br /&gt;    set { base.SetValue($property$Property, value); }&lt;br /&gt;}$end$]]&amp;gt;&lt;br /&gt;            &amp;lt;/Code&amp;gt;&lt;br /&gt;        &amp;lt;/Snippet&amp;gt;&lt;br /&gt;    &amp;lt;/CodeSnippet&amp;gt;&lt;br /&gt;&amp;lt;/CodeSnippets&amp;gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/115746956305259038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=115746956305259038' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115746956305259038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115746956305259038'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/09/dependency-property-code-snippet.html' title='Dependency property code snippet'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-115694911510570823</id><published>2006-08-30T15:20:00.000+01:00</published><updated>2006-11-07T21:37:49.942Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net 3'/><title type='text'>WinFX or .NET 3.0 ?</title><content type='html'>Should it be named WinFX or .NET 3.0?&lt;br /&gt;I belive WinFX.&lt;br /&gt;That's why I just signed &lt;a href="http://www.petitiononline.com/winfx/petition.html"&gt;this petition&lt;/a&gt; . I agree to most points in it and I do belive that naming it .NET 3 is just a lame marketing decision.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/115694911510570823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=115694911510570823' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115694911510570823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115694911510570823'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/08/winfx-or-net-30.html' title='WinFX or .NET 3.0 ?'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-115686876046936211</id><published>2006-08-29T17:16:00.000+01:00</published><updated>2006-08-29T17:26:00.483+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WF'/><title type='text'>First experience with WWF</title><content type='html'>This is just an initial contact with WWF and here are a few links that I found usefull to get myself familiar with it:&lt;br /&gt;&lt;a href="http://wf.netfx3.com"&gt;&lt;br /&gt;http://wf.netfx3.com &lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/winfx/technologies/workflow/default.aspx#wwfi_topic3"&gt;http://msdn.microsoft.com/winfx/technologies/workflow/default.aspx#wwfi_topic3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2006/07/18/5878.aspx"&gt;Muke Taulty's blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/lamonth/archive/2005/09/14/466222.aspx"&gt;WWF vs Biztalk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/winfx/technologies/workflow/default.aspx?pull=/msdnmag/issues/06/04/cuttingedge/default.aspx"&gt;ASP.NET &amp; Workflows by Dino Esposito&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/winfx/reference/workflow/default.aspx?pull=/msdnmag/issues/06/03/cuttingedge/default.aspx"&gt;more WWF by Dino Esposito&lt;/a&gt;&lt;br /&gt;the 4 episodes of DNT TV on WWF&lt;br /&gt;MSDN TV WWF episode&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Issues still outstanding:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;didn't find any proposed naming conventions or design guidelines&lt;/li&gt;&lt;li&gt;still didn't figure out how to overcome the bug in version beta 2.2 that eventually causes the build error 'The item "obj\Debug\......" was specified more than once in the "Resources" parameter.  Duplicate items are not supported by the "Resources" parameter.'&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/115686876046936211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=115686876046936211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115686876046936211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115686876046936211'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/08/first-experience-with-wwf.html' title='First experience with WWF'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-115564594305577481</id><published>2006-08-15T13:33:00.000+01:00</published><updated>2006-08-15T13:53:12.206+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Stress testing web services with WAST through SOAP</title><content type='html'>S&lt;a href="http://support.microsoft.com/kb/815160/EN-US/"&gt;tress testing webservices: &lt;/a&gt;I just found &lt;a href="http://www.connecttel.com/index.php?link=_MS_Wast_N_eSOAP.html"&gt;this&lt;/a&gt; great article on how to use Ms WAST with SOAP. In this manner, this looks like a decent tool to stress test web services (if you don't have VSTF). If anyone reading this has a better idea please do leave a comment.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/115564594305577481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=115564594305577481' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115564594305577481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/115564594305577481'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/08/stress-testing-web-services-with-wast.html' title='Stress testing web services with WAST through SOAP'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114640362871026097</id><published>2006-04-30T14:27:00.000+01:00</published><updated>2006-04-30T14:27:08.710+01:00</updated><title type='text'>steepvalley.net: XPCC Introduction</title><content type='html'>Bookmark:&lt;br /&gt;&lt;a href="http://steepvalley.net/Default.aspx?tabid=56"&gt;steepvalley.net: XPCC Introduction&lt;/a&gt;&lt;br /&gt;Great win forms controls for both 1.1 and 2.0.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114640362871026097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114640362871026097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114640362871026097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114640362871026097'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/04/steepvalleynet-xpcc-introduction.html' title='steepvalley.net: XPCC Introduction'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114640359183649775</id><published>2006-04-30T14:26:00.000+01:00</published><updated>2006-04-30T14:26:32.026+01:00</updated><title type='text'>Optimized ASP.NET DataGrid Sorting - The Code Project - ASP.NET</title><content type='html'>Bookmark:&lt;br /&gt;&lt;a href="http://www.codeproject.com/aspnet/OptimizedDataGridSort.asp#xx1278531xx"&gt;Optimized ASP.NET DataGrid Sorting - The Code Project - ASP.NET&lt;/a&gt;&lt;br /&gt;This is a simple yet very efficient implementation of a .NET 1.1 datagrid.&lt;br /&gt;my TO DO: create a template project (wizard) with this as it does come in handy.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114640359183649775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114640359183649775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114640359183649775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114640359183649775'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/04/optimized-aspnet-datagrid-sorting-code.html' title='Optimized ASP.NET DataGrid Sorting - The Code Project - ASP.NET'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114589595831086265</id><published>2006-04-24T17:25:00.000+01:00</published><updated>2006-08-30T15:47:37.480+01:00</updated><title type='text'>Credit Card Electronic Payment Processing with ASP.NET</title><content type='html'>Processing credit card is always an important aspect of an e-commerce web site. I am not an expert on this matter, but this is what I found so far:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.west-wind.com/presentations/aspnetecommerce/aspnetecommerce.asp"&gt;Credit Card Electronic Payment Processing with ASP.NET&lt;/a&gt;: "Integrating Electronic Payment Processing into&lt;br /&gt;ASP.NET Web Applications"&lt;br /&gt;&lt;br /&gt;Good alternative for fancy sites. Otherwise, just stick with 2checkout.com&lt;br /&gt;It's not the most elegant because it's not white labeled (actually it doesn't fit in the client web site at all) but it works, and it's cheap.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114589595831086265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114589595831086265' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114589595831086265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114589595831086265'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/04/credit-card-electronic-payment.html' title='Credit Card Electronic Payment Processing with ASP.NET'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114167947539387511</id><published>2006-03-06T21:11:00.000Z</published><updated>2006-04-28T21:26:05.723+01:00</updated><title type='text'>.NET Application Updater Component</title><content type='html'>I didn't previously used this, but it is great! even better than the newer Click Once technology.&lt;br /&gt;A nice open source project using it: TaskVision.&lt;br /&gt;&lt;br /&gt;more: &lt;a href="http://windowsforms.net/articles/appupdater.aspx"&gt;.NET Application Updater Component&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;still to compare with: &lt;a href="http://www.codeproject.com/useritems/WebUpdate.asp"&gt;http://www.codeproject.com/useritems/WebUpdate.asp&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114167947539387511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114167947539387511' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114167947539387511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114167947539387511'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/03/net-application-updater-component.html' title='.NET Application Updater Component'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114148968515367826</id><published>2006-03-04T16:28:00.000Z</published><updated>2006-03-04T16:28:07.180Z</updated><title type='text'>Adam Cogan's Rules</title><content type='html'>Ok, although I have always been drawn towards code standardization ,patterns and rules, I must admit I never dreamed of such a level of rules standardization. This guy has done it all, and further more he standardized every process and build tools to automate the rules implementation in the development process (Adrian, are you reading this?)&lt;br /&gt;I do wonder if I should build my own tools or buy his :)&lt;br /&gt;These are just a few of many:&lt;br /&gt;&lt;a href="http://www.ssw.com.au/SSW/Standards/Rules/RulesToBetterWebsitesAdministration.aspx"&gt;SSW Rules to Better Websites - Development&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ssw.com.au/ssw/standards/Rules/RulesToBetterGoogleRankings.aspx"&gt;SSW Rules to Better Google Rankings&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ssw.com.au/ssw/standards/Rules/RulesToBetterdotNETProjects.aspx"&gt;SSW Rules to Better .NET Projects&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114148968515367826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114148968515367826' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114148968515367826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114148968515367826'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/03/adam-cogans-rules.html' title='Adam Cogan&apos;s Rules'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114035983939155612</id><published>2006-02-19T14:37:00.000Z</published><updated>2006-02-19T14:37:19.586Z</updated><title type='text'>.NET Rocks! hosted by MSDN</title><content type='html'>This is a good show I've been missing. what a shame !&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/dotnetrocks/"&gt;.NET Rocks! hosted by MSDN&lt;/a&gt;&lt;br /&gt;I got to save this link</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114035983939155612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114035983939155612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114035983939155612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114035983939155612'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/02/net-rocks-hosted-by-msdn.html' title='.NET Rocks! hosted by MSDN'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114029867892429343</id><published>2006-02-18T21:37:00.000Z</published><updated>2006-02-18T21:37:58.936Z</updated><title type='text'>Default Button Submissions in ASP.NET Pages - Rick Strahl's WebLog</title><content type='html'>Good point: default button on ASP.NET 1. Great solution:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://west-wind.com/weblog/posts/1225.aspx"&gt;Default Button Submissions in ASP.NET Pages - Rick Strahl's WebLog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;even better in .NET 2 (supports default button)</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114029867892429343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114029867892429343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114029867892429343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114029867892429343'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/02/default-button-submissions-in-aspnet.html' title='Default Button Submissions in ASP.NET Pages - Rick Strahl&apos;s WebLog'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-114029728990328329</id><published>2006-02-18T21:09:00.000Z</published><updated>2006-02-18T21:14:49.916Z</updated><title type='text'>Good (&amp; free &amp; open source) asp.net controls</title><content type='html'>available here: &lt;a href="http://www.metabuilders.com"&gt;http://www.metabuilders.com&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/114029728990328329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=114029728990328329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114029728990328329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/114029728990328329'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2006/02/good-free-open-source-aspnet-controls.html' title='Good (&amp; free &amp; open source) asp.net controls'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-113143862765488818</id><published>2005-11-08T08:30:00.000Z</published><updated>2005-11-16T15:47:36.410Z</updated><title type='text'></title><content type='html'>Great wizard, one of the best lost &amp;amp; found links: http://www.arstdesign.com/articles/sdimdiwizards.html</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/113143862765488818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=113143862765488818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113143862765488818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113143862765488818'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2005/11/great-wizard-one-of-best-lost-found.html' title=''/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-113077314660807655</id><published>2005-10-31T15:31:00.000Z</published><updated>2005-11-04T13:15:34.920Z</updated><title type='text'>ASP.NET AJAX component</title><content type='html'>A man with a plan: &lt;a href="http://jason.diamond.name/"&gt;Jason Diamond&lt;/a&gt;&lt;br /&gt;He built an &lt;a href="http://jason.diamond.name/weblog/category/ajax/"&gt;AJAX ASP.NET component library&lt;/a&gt;, open source (the only one that I am aware of) and he took it to release 12 !&lt;br /&gt;Nice job !&lt;br /&gt;Speaking of, I am pondering at a very interesting concept: a sort of Portal starter kit (like IBuySpy portal) with AJAX. Are you up to it? if so, leave a comment, maybe we can gather a team.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/113077314660807655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=113077314660807655' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113077314660807655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113077314660807655'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2005/10/aspnet-ajax-component.html' title='ASP.NET AJAX component'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-113070497453575071</id><published>2005-10-30T20:41:00.000Z</published><updated>2005-11-01T17:00:15.456Z</updated><title type='text'>Must read :: ASP.NET &amp; AJAX</title><content type='html'>Great article (low level, yet good) about AJAX &amp; ASP.NET&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/ASPNetSpicedAjax.asp"&gt;read me&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/113070497453575071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=113070497453575071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113070497453575071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113070497453575071'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2005/10/must-read-aspnet-ajax.html' title='Must read :: ASP.NET &amp; AJAX'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-113070489908622293</id><published>2005-10-30T20:40:00.000Z</published><updated>2005-11-01T16:59:22.136Z</updated><title type='text'>Must read :: Improving Application Performance by Implementing Paginated Lists</title><content type='html'>Describes how Ameripay has implemented the "How To: Page Records in .NET Applications" section of the Microsoft &lt;i&gt;patterns &amp;amp; practices &lt;/i&gt;book &lt;i&gt;Improving .NET Application Performance and Scalability&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnbda/html/ameripaypaging.asp"&gt;read here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;more info on the subject can be found &lt;a href="http://www.aspnetworld.com/articles/2004031001.aspx"&gt;here&lt;/a&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/113070489908622293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=113070489908622293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113070489908622293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113070489908622293'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2005/10/must-read-improving-application.html' title='Must read :: Improving Application Performance by Implementing Paginated Lists'/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12815393.post-113059839461138163</id><published>2005-10-29T16:06:00.000+01:00</published><updated>2005-10-29T16:06:34.616+01:00</updated><title type='text'></title><content type='html'>Nice book: http://www.brpreiss.com/books/opus6/html/book.html</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/113059839461138163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=12815393&amp;postID=113059839461138163' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113059839461138163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12815393/posts/default/113059839461138163'/><link rel='alternate' type='text/html' href='http://www.serializable.co.uk/2005/10/nice-book-httpwww.html' title=''/><author><name>Dani</name><uri>http://www.blogger.com/profile/03626354592301845804</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>