Web API on IIS 8.0 – 405 Method Not Allowed for PUT

Lately I’m extensively developing my web services in ASP.Net Web API and generally speaking it’s good framework in supporting HTTP programming (REST “style”), even if it is in it’s early stages and needed more features to be “completed”.

Yesterday I had a very interesting problem when I published new version of my project (btw, I am developing web api in ASP.Net 4.5 and deploy it in Windows Server 2012 and IIS 8).

When I hit my web api with a PUT request (PUT -> api.mydomain.com/profilecontroller/) web server’s response was error 405 (or method not allowed) while in same time my controller supported all types of requests (get, post, put, delete).

I was surprised with this error while just few minutes earlier everything worked perfectly.

I googled for some time and get disappointed with results – no solution found.

Started to think what I did with my web server and I remembered some “not friendly” touches 😀 in Web Server (IIS) Role configuration, like installing “WebDAV Publishing”.

I immediately uninstalled (unchecked) that “feature (not Windows Feature :D)” in Web Server (IIS) Role and everything started to work like a charm :D.

IIS Role WebDav

It was kind of a stupid solution (I have to admit) but finally everything worked fine :D.

 

Why Windows Phone 8 should succeed?!

Like everyone else has an opinion about new comings I also have mine and I want to share my bits why I think Windows Phone 8 should succeed. According to my opinion there are several reasons and conditions why next mobile operating system from Microsoft should make remarkable debut and gain significant percentage and momentum.

Suposed Windows Phone 8 logoThe factors that Windows Phone 8 should succeed according to my opinion are:

Albanian stop words

Definition

A stop word can be a word with meaning in a specific language, or it can be a token that does not have linguistic meaning. According to wikipedia  definition for stop words is:

In computingstop words are words which are filtered out prior to, or after, processing of natural language data (text). It is controlled by human input and not automated. There is not one definite list of stop words which all tools use, if even used.

Continue reading Albanian stop words

Registration error… Windows Phone with Windows Azure debugging problem!

You just have started to trying out the Windows Azure Toolkit for Windows Phone 7, and created your first sample application. Then , when you launch the admin page, you get this error:

Sorry, an error occurred while processing your request.
WP7CloudApp1.Web.Infrastructure.RoleInWrongPortException: The Web role was started in a wrong port. For this sample application to work correctly, please make sure that it is running in port 443. Please review the Troubleshooting section of the sample documentation for instructions on how to do this.

Interesting. You notice that in the address bar, Internet Explorer has for some reason browsed to port 444 instead of the expected port 443. Looking at the documentation on MSDN for Azure, in the paragraph Testing an HTTPS endpoint in the compute emulator, one can find this little tidbit: If a port that you specify is not available, in the case of an HTTPS endpoint 443, the compute emulator will increment the port number until it finds one that is free.

There are several solutions proposed in web, like one that is to change port in Compute Emulator when you start debugging. But I personally did another solution, that is maybe dude but it functions well :D.

In Web project (ASP.Net MVC3) in Global.asax.cs I changed Default HTTPS Port const from

private const int DefaultHttpsPort = 443;

to

private const int DefaultHttpsPort = 444;

and voila 😀 I received message

Welcome to the administration site for the Mobile Cloud Application Services!