I had trouble getting my site to accept PUT and DELETE methods when hosting my site locally with IIS7. I am hosting the application under its own website, this lets me change the settings for the particular site using the IIS7 interface. Here are the steps I took to correct the problem:
Begin in IIS7 by highlighting your website, then choosing Handler Mappings from the available options:
Then select WebDAV from the list of Mappings.
Click Request Restrictions.
Then switch to the Verbs tab and highlight All Verbs.
Restart the application in IIS and hey presto! PUT and DELETE enabled (as well as all HTTP methods). If you want to more conservative about which methods are supported then use the option beneath All Verbs.This results in the changes to your Web.config. Inside your <system.web> section goes this snippet: (You don't actually have to add this - IIS7 will have added this itself)
<remove name="WebDAV" />
<add name="WebDAV" path="*" verb="*" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" />
Hope this will help someone out!
P.s. I found WFetch to be quite a useful tool in debugging http requests.