If you're setting up a WCF web service, its nicer to present a URL that does not have the .svc extension in it, i.e.
http://moviesite.com/movies/123
Instead of
http://moviesite.com/service.svc/movies/123
A simple way of achieving this on IIS versions 5 or 6 is using the free ISAPI Rewrite tool, with the following configuration:
# Don't rewrite url's that already contain .svc.
RewriteRule .*\.svc.* - [L]
# Rewrite requests for host moviesite.com to be moviesite.com/service.svc/whatever.
RewriteCond %{HTTP:Host} moviesite.com
RewriteRule ^/(.*)$ /service.svc/$1 [L]
Wednesday, 29 April 2009
Tuesday, 28 April 2009
Load testing a WCF web-service gives a 403 error on IIS 5.1 (XP Pro)
If you're hosting a WCF web service using XP Pro's IIS and checking its thread-safety by hitting with > 20 threads, then its likely you'll be seeing some 403 errors.
This is unfortunately by design. See Jeff Atwood's article on why and how to get around IIS 5.1's shackles.
This is unfortunately by design. See Jeff Atwood's article on why and how to get around IIS 5.1's shackles.
Thursday, 23 April 2009
Configuring the Identity of an IIS Application Pool
If a web-site needs to run under a specific identity, IIS application pools provide a convenient means of achieving this. However, a reoccurring problem I come up against in setting these up is forgetting to ensure the identity is also a member of the local IIS_WPG group. TechNet has the full story.
So if you get one of these red icons on your Application Pool, check the IIS_WPG group.
So if you get one of these red icons on your Application Pool, check the IIS_WPG group.
Tuesday, 21 April 2009
NUnit's EqualTo tolerance modifier
Comparing generated DateTime values can always be a bit tricky, but today I discovered NUnit's Within modifier that makes life so much easier:
[Test]
public void CreatedOnDefaultsToNow()
{
SomeClass someObject = new SomeClass();
Assert.That(someObject.CreatedOn,
Is.EqualTo(DateTime.Now).Within(new TimeSpan(1000)));
}
Subscribe to:
Posts (Atom)