<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-953800050047047319</id><updated>2010-01-04T00:42:40.721Z</updated><title type='text'>neil kilbride's blog</title><subtitle type='html'>All programmers are playwrights and all computers are lousy actors.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default?orderby=updated'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default?start-index=26&amp;max-results=25&amp;orderby=updated'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-7604642042722199376</id><published>2007-10-12T17:26:00.002+01:00</published><updated>2008-05-07T23:46:10.674+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EPiServer'/><category scheme='http://www.blogger.com/atom/ns#' term='web design'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Visual Studio Error List (HTML Errors)</title><summary type='text'>
digg_url ='http://neilkilbride.blogspot.com/2007/10/visual-studio-error-list-html-errors.html';



Nothing annoys me more on a Friday afternoon than the Visual Studio Error List rearring its ugly head and popping up with errors (often irrelevant ones) about the HTML markup.


So after playing about with settings and poking around the interweb I found you can either just close all the HTML (or </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/7604642042722199376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=7604642042722199376' title='39 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/7604642042722199376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/7604642042722199376'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2007/10/visual-studio-error-list-html-errors.html' title='Visual Studio Error List (HTML Errors)'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>39</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-8028938923886612728</id><published>2008-04-17T09:13:00.001+01:00</published><updated>2008-04-17T09:15:28.929+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>Cannot resolve the collation conflict T-SQL</title><summary type='text'>
Cannot resolve the collation conflict between XXX and YYY in the equal to operation


I recently got this whilst doing some SQL queries that involved joins between two fields with different (albeit very similar) collation types. To stop SQL server from screaming, you'll need to perform a sort of collation cast. The quickest way is to cast one of the field's collation so it matches the other, or </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/8028938923886612728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=8028938923886612728' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8028938923886612728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8028938923886612728'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/04/cannot-resolve-collation-conflict-t-sql.html' title='Cannot resolve the collation conflict T-SQL'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-4079831177916785714</id><published>2008-04-13T15:08:00.010+01:00</published><updated>2008-04-16T09:54:54.318+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='web design'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>Use CSS not JavaScript for rollovers!</title><summary type='text'>
Why use Javascript for your rollovers when simple CSS will do? I prefer CSS over Javascript because it degrades better in non-compatible browsers in comparison to JavaScript and it's so straight forward to implement in CSS, just take a peek below...

CSS rollover example in action:

Hidden Text

CSS rollover code:

&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
a.rollover 
{
 display: block;
 width: 50px</summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/4079831177916785714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=4079831177916785714' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/4079831177916785714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/4079831177916785714'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/04/use-css-not-javascript-for-rollovers.html' title='Use CSS not JavaScript for rollovers!'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-5356564956571961431</id><published>2008-04-04T18:11:00.004+01:00</published><updated>2008-04-10T11:13:17.616+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Log4net'/><title type='text'>Configure log4net only once</title><summary type='text'>
log4net is a great logging framework with powerful levels of flexibility. This flexibility can result in complexity when used in larger systems. One key point when using log4net in complex systems is to remember to configure the file to log to just once per process.


The file to log to is configured in the call to log4net.Config.XmlConfigurator.Configure() call this just once per process


In </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/5356564956571961431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=5356564956571961431' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/5356564956571961431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/5356564956571961431'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/04/configure-log4net-only-once.html' title='Configure log4net only once'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-414477056294939847</id><published>2008-04-10T10:52:00.003+01:00</published><updated>2008-04-10T10:56:55.299+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>How to access the Call Stack C#</title><summary type='text'>
As methods are called, information about them are placed on the call stack. The call stack is invaluable in development work for debugging problems, but it can also be useful in other situations (e.g. when logging for an entire app or library is processed by a logging utility in one location). 


.NET makes it simple for us to work with the call stack. The functionality is provided via the </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/414477056294939847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=414477056294939847' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/414477056294939847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/414477056294939847'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/04/how-to-access-call-stack-c.html' title='How to access the Call Stack C#'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-6602995487992001677</id><published>2008-01-28T09:11:00.001Z</published><updated>2008-04-09T00:20:16.032+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Controls'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>ASP.Net AJAX Not Working (Full page postback)</title><summary type='text'>The conversion process from VS 2003 to VS 2005 for web projects may result in strange behaviour when adding new client-side JavaScript to the project. For me this was evident when using ASP.Net AJAX UpdatePanel controls, which resulted in a page performing a full-page postback instead of a partial page postback of the desired AJAX page elements.
ASP.Net 1 and 1.1 did not emit XHTML compliant </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/6602995487992001677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=6602995487992001677' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6602995487992001677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6602995487992001677'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/01/aspnet-ajax-not-working-full-page.html' title='ASP.Net AJAX Not Working (Full page postback)'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-6439622460486843029</id><published>2008-04-03T13:21:00.003+01:00</published><updated>2008-04-03T13:27:18.052+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Removing  XmlDocument white space c#</title><summary type='text'>
I've recently been working on matching certain API calls with XML data pulled from an XML file for testing purposes. I noticed there was a large amount of white space left in the XML when pulled from the resourced XML file; which is something I didn't want. 


I thought setting the XmlDocument.PreserveWhitespace property to false would remove this for me, but it just seems to remove the </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/6439622460486843029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=6439622460486843029' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6439622460486843029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6439622460486843029'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/04/removing-xmldocument-white-space-c.html' title='Removing  XmlDocument white space c#'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-8423384242494884958</id><published>2008-03-28T11:42:00.003Z</published><updated>2008-03-28T11:49:49.757Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='ReST'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>HttpHandler for all requests in ASP.Net on IIS</title><summary type='text'>
Setting up a HttpHandler for handling ALL incoming requests is straight forward with .Net and IIS. Provided you've created your .Net HttpHandler project to sucessfully handle the requests, you need to do the two following tasks:


1) Ensure that the web.config references the HttpHandler you've created

 To the httpHandlers section of your web.config file add a reference to your httpHandler for </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/8423384242494884958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=8423384242494884958' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8423384242494884958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8423384242494884958'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/03/httphandler-for-all-requests-in-aspnet.html' title='HttpHandler for all requests in ASP.Net on IIS'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-6273991939784857873</id><published>2007-05-10T16:44:00.003+01:00</published><updated>2008-03-27T10:41:20.070Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assemblies'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><title type='text'>Using Bind Monitor (FUSLOGVW.exe)</title><summary type='text'>
Don't you just hate it when you've done all the development work and you are finally deploying the release onto a server and BANG! It doesn't work, you have some sort of assembly loading exception/file not found exception?


All of us (yes even you) have had assembly binding issues on our server and development machines, but not many of us know about or make use of the Bind Monitor (FUSLOGVW.exe</summary><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6273991939784857873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6273991939784857873'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2007/05/using-bind-monitor-fuslogvwexe.html' title='Using Bind Monitor (FUSLOGVW.exe)'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-8322760385057604989</id><published>2008-03-26T12:41:00.003Z</published><updated>2008-03-26T12:48:47.920Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ReST'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>XSLT Transform in C# (a piece of cake)</title><summary type='text'>
Whilst there are times when I'd rather be rubbing Dorset Naga chillies in my eyes, most days I'm glad I develop in C# on the .Net framework. Take today for example. I needed to look into manipulating XML via XSLT; a powerful transformation language for XML. I thought it would take a while, around 3 hours; but with the powerful .Net library I had built a win forms app that takes XML input, XSLT </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/8322760385057604989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=8322760385057604989' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8322760385057604989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8322760385057604989'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/03/xslt-transform-in-c-piece-of-cake.html' title='XSLT Transform in C# (a piece of cake)'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-1778583706178611469</id><published>2008-03-25T17:02:00.007Z</published><updated>2008-03-26T09:37:01.203Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ReST'/><category scheme='http://www.blogger.com/atom/ns#' term='Esendex'/><title type='text'>I need some ReST</title><summary type='text'>
Despite working hard on two newly released services (BlogIt and Voice SMS) for Esendex there is no time to stop and catch my breath; I've begun working on a completely new ReST API. 


With ReST (Representational State Transfer), the idea is that the services are comprised of resources (an item of interest). Calls to ReST services return a representation of a resource placing the client </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/1778583706178611469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=1778583706178611469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/1778583706178611469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/1778583706178611469'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/03/no-rest-ing-for-esendex-development.html' title='I need some ReST'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-4009166769671675659</id><published>2008-03-18T11:46:00.000Z</published><updated>2008-03-18T11:47:50.405Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>DateTime format &amp; globalization problems in ASP.Net</title><summary type='text'>
Some problems cropped up recently on a project relating to datetime formats and globalisation. At first glance it seemed that it was related to en-US and en-GB datetime format conflicts. However, it was difficult to figure out why with the machine being setup in the English en-GB globalisation settings?! Turns out that an explicit globalization attribute in the apps config is required to ensure </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/4009166769671675659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=4009166769671675659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/4009166769671675659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/4009166769671675659'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/03/datetime-format-globalization-problems.html' title='DateTime format &amp; globalization problems in ASP.Net'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-6318028079317959576</id><published>2008-03-17T11:38:00.000Z</published><updated>2008-03-17T11:40:07.386Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Log4net'/><title type='text'>Log4net - problems logging from a web app</title><summary type='text'>
There have been a couple of occasions when logging just won't work for me in a web application. This typically means that log4net is getting permission issues. The web application runs as a special user account on the web server called ASPNET (usually). This account has restricted permissions to 
protect the web server from attacks. By default this account may not have permission to write to the</summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/6318028079317959576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=6318028079317959576' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6318028079317959576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6318028079317959576'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/03/log4net-problems-logging-from-web-app.html' title='Log4net - problems logging from a web app'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-5167826240807117000</id><published>2008-03-15T12:51:00.000Z</published><updated>2008-03-15T12:52:53.864Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>SQL - Replace line breaks and other characters</title><summary type='text'>
I'm not quite as proficient with SQL as I'd like, so when I stumble across little SQL gems I know I'll use again I like to note them down; what better a place to do that than my blog to share with the rest of the web :)


This is a Transact SQL example, on how to replace a character on a select. The character being replaced is just the ASCII code of the character.


SELECT REPLACE($FIELD, CHAR($</summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/5167826240807117000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=5167826240807117000' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/5167826240807117000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/5167826240807117000'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/03/sql-replace-line-breaks-and-other.html' title='SQL - Replace line breaks and other characters'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-888234088176389580</id><published>2008-03-12T10:18:00.004Z</published><updated>2008-03-12T10:22:56.308Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger.com'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='Esendex'/><title type='text'>Update your Blog by SMS wherever you are</title><summary type='text'>
digg_url ='http://neilkilbride.blogspot.com/2008/03/update-your-blog-by-sms-wherever-you.html';


BlogIt is a new, free service mobile blogging service available to all new and existing Esendex users. Whether you are a personal blogger or professional journalist, BlogIt is the perfect tool for updating your blog when you are on the move - just submit your posts by SMS message.
Validated posts </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/888234088176389580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=888234088176389580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/888234088176389580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/888234088176389580'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/03/update-your-blog-by-sms-wherever-you.html' title='Update your Blog by SMS wherever you are'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-5200877876610515464</id><published>2008-02-29T15:03:00.001Z</published><updated>2008-02-29T15:06:18.509Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Browser'/><title type='text'>Clear Concise HTTP Status Codes List</title><summary type='text'>
I've recently been looking into ReST services, and needless to say you need to know your HTTP status codes. These are a set of standardised response codes given by web site servers on the Internet. The codes help identify the cause of the problem when a web page or other resource does not load properly. Here is a concise list for reference purposes.


 Information                    # 1xx
    </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/5200877876610515464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=5200877876610515464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/5200877876610515464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/5200877876610515464'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/clear-concise-http-status-codes-list.html' title='Clear Concise HTTP Status Codes List'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-7627718737064165868</id><published>2008-02-27T13:31:00.003Z</published><updated>2008-02-27T13:35:38.047Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>Windows 2003 IIS returns 404 for ASP.Net pages</title><summary type='text'>
Had an issue on one of our externally managed servers which wouldn't process any ASP.Net documents (aspx, asmx etc), but would just return a 404. However, it would  happily return other files such as htm, txt, css. There was no web application logging, no logs in event viewer I had nothing to go on, until I remembered about the often forgotten and rarely used IIS logs (see my article on where </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/7627718737064165868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=7627718737064165868' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/7627718737064165868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/7627718737064165868'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/windows-2003-iis-returns-404-for-aspnet.html' title='Windows 2003 IIS returns 404 for ASP.Net pages'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-6451665489303292760</id><published>2008-02-20T17:20:00.005Z</published><updated>2008-02-20T17:38:09.090Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>ASP.Net Production Web Server Top Tip</title><summary type='text'>
digg_url ='http://neilkilbride.blogspot.com/2008/02/aspnet-production-web-server-top-tip.html';



There are a number of things we want to ensure on our production servers:


The debug attribute in the compilation element in the web.config should be false for all applications. This is mainly for performance reasons, leaving it to false means:

1) The compilation of ASP.NET pages takes longer (</summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/6451665489303292760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=6451665489303292760' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6451665489303292760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6451665489303292760'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/aspnet-production-web-server-top-tip.html' title='ASP.Net Production Web Server Top Tip'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-4301748460610661324</id><published>2008-02-20T10:01:00.002Z</published><updated>2008-02-20T10:05:34.243Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Control name changes due to xhtmlConformance</title><summary type='text'>
Another strange and unwanted ASP.Net problem cropped up today when we least needed it to. We had some code problems occurring on some servers, but the exact same code worked fine on other servers. The problem was related to some code that hadn't changed for a long time, and left the development team scratching our heads.


Turns out in the HTML the naming convention for controls were different </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/4301748460610661324/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=4301748460610661324' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/4301748460610661324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/4301748460610661324'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/control-name-changes-due-to.html' title='Control name changes due to xhtmlConformance'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-397369722397781265</id><published>2008-02-15T13:41:00.003Z</published><updated>2008-02-15T14:51:08.383Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBScript'/><title type='text'>Split a text file with VBScript</title><summary type='text'>
I had to split some text reports (csv format) that are read by colleagues in Excel just the other day. Excel can only read ~65k lines on one sheet, but the reports were ~100k lines - so I had to split the files in two. The reports are generated via script; so I decided to write another script to split the files at around the 60K mark. Hope this can save someone else some time :)


The script </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/397369722397781265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=397369722397781265' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/397369722397781265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/397369722397781265'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/split-text-file-with-vbscript.html' title='Split a text file with VBScript'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-7077670512838088340</id><published>2008-02-15T12:16:00.003Z</published><updated>2008-02-15T12:25:33.318Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='Firefox'/><title type='text'>HTML Email Newsletter Top Tips</title><summary type='text'>
digg_url ='http://neilkilbride.blogspot.com/2008/02/html-email-newsletter-top-tips.html';



Email newsletters are common place for advertising products, services and events. Considering it's uses, it is easy to understand why 
html newsletters are king; who wants to send plain text emails when we can send fancy text and graphics?! Below are some simple tips to get you started 
with your html </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/7077670512838088340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=7077670512838088340' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/7077670512838088340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/7077670512838088340'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/html-email-newsletter-top-tips.html' title='HTML Email Newsletter Top Tips'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-8074601093808340398</id><published>2008-02-07T14:28:00.000Z</published><updated>2008-02-07T14:39:31.378Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='IE'/><title type='text'>Finding a User Mac Address (Javascript)</title><summary type='text'>
digg_url ='http://neilkilbride.blogspot.com/2008/02/finding-user-mac-address-javascript.html';



Unless a user is on an internal network, there is no way server-side (I know of) to retrieve the mac address of a user accessing a web page, simply because it isn't sent in the http headers for a request. Any attempt to analyze the underlying network communications server side is pointless as it </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/8074601093808340398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=8074601093808340398' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8074601093808340398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/8074601093808340398'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/finding-user-mac-address-javascript.html' title='Finding a User Mac Address (Javascript)'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-6794670156473876439</id><published>2007-10-18T13:05:00.000+01:00</published><updated>2008-02-06T17:12:29.307Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Assemblies'/><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><title type='text'>Checking an assembly is strong named</title><summary type='text'>
digg_url ='http://neilkilbride.blogspot.com/2007/10/checking-assembly-is-strong-named.html';



A strong named assembly's identity consists of a simple text name, version number, and culture information (optional) - plus a public key and a digital signature.


Strong names guarantee name uniqueness by relying on unique key pairs
Strong names protect the version lineage of an assembly. A strong </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/6794670156473876439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=6794670156473876439' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6794670156473876439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6794670156473876439'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2007/10/checking-assembly-is-strong-named.html' title='Checking an assembly is strong named'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-6222568306746960446</id><published>2008-02-01T17:46:00.000Z</published><updated>2008-02-01T17:56:09.974Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Could not load file or assembly App_Web_XXX</title><summary type='text'>Came across a completely random exception today on a new web server:
System.IO.FileNotFoundException: Could not load file or assembly 'App_Web_XXX, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
File name: 'App_Web_XXX, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'

After some digging, I found issue is now </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/6222568306746960446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=6222568306746960446' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6222568306746960446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/6222568306746960446'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/02/could-not-load-file-or-assembly.html' title='Could not load file or assembly App_Web_XXX'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-953800050047047319.post-3512386923634553250</id><published>2008-01-30T09:54:00.000Z</published><updated>2008-01-30T11:23:53.823Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Security'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP Pro'/><title type='text'>Where are my IIS Logs?</title><summary type='text'>
digg_url ='http://neilkilbride.blogspot.com/2008/01/where-are-my-iis-logs.html';


Although you may have bucket loads of logging taking place in your web applications/sites, you may still feel the need to make use of the IIS logs. Use the following steps to track down these hidden away log files:

   Open Internet Information Services (IIS) 
   Right-click the desired web site and select </summary><link rel='replies' type='application/atom+xml' href='http://neilkilbride.blogspot.com/feeds/3512386923634553250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=953800050047047319&amp;postID=3512386923634553250' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/3512386923634553250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/953800050047047319/posts/default/3512386923634553250'/><link rel='alternate' type='text/html' href='http://neilkilbride.blogspot.com/2008/01/where-are-my-iis-logs.html' title='Where are my IIS Logs?'/><author><name>Neil kilbride</name><uri>http://www.blogger.com/profile/11689141460411902032</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='14409776620923219554'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>