Well this was just painful.
We have just finished getting a .Net 3.0 dev environment set up to do some WCF development. Installed the NETFX30 runtime and the VS2005 Extensions, pointed a new IIS virtual directory at our WCF service host directory, and tried to access the .svc endpoint...
*splat*
IIS decides to return the svc as plaintext. Obviously something had gone pear-shaped as IIS hadn't had the .svc extension registered against ASP.Net. Nothing in the event log during the NETFX3 installation, and no obvious errors anywhere in the system. The only slightly odd symptom was HTTP response code 304 Not Modified in the IIS logs.
We tried repairing, reinstalling NETFX30, rebooting the machine, reinstalling IIS, clearing out the IIS metabase, manually trying to register .svc using the ServiceModelReg utility. We tried following the MSDN instructions to Deploy an IIS-Hosted WCF Service to the letter. Absolutely nothing worked.
At a moment of desperation we decided to download and install NETFX35, and then voila, it all worked. The closest we can find to explain this issue is a documented issue when upgrading from a beta to RC1 from the release notes (Section 2.7.4), however this machine had never had any betas installed on it at all, so didn't really apply.
The only other possible explanation we have is possibly some incompatibility with the two dozen other server products and frameworks that this machine had installed on it (including VS.Net, Eclipse, IntelliJ, Tomcat, Oracle, MySQL, SQL Express, WebLogic, custom ISAPI filters, and a plethora of different federated identity servers).
Just odd.
Anyway, we can finally carry on with our work now.
UPDATE:
This problem cropped up again this morning when I upgraded my NETFX30 dev machine (XP SP2, with IIS6) to NETFX35. After a bit of investigation and following the instructions at IIS Hosted Service Fails, I noticed that even though the .svc extension mapping had been properly configured for the top-level website, it had not been inherited by any of my virtual directories. This was quickly resolved by removing and re-adding the mapping on the top level website, thereby forcing all the virtual directories to get the new setting. A quick iisreset later, and we were back in business.
Still no closer to understanding why this is happening, although at least we know how to fix it now. Maybe its an IIS5 issue with NETFX3? And yes yes, before you tell me I should be developing server-side apps on Server2k3, I KNOW and its out of my control!
Monday, 26 November 2007
Subscribe to:
Post Comments (Atom)
2 comments:
I had the exact same issue - no amount of running ServiceModelReg -r would fix up the missing binding, and it was amazing how few articles there were on what the correct binding should be. Anyway, added aspnet_isapi.dll from the .NET 2.0 Framework directory as the binding as per your URL, and bingo, it works.
Where you so for a long time were gone? ciallis tablets womens I have a joke for you =) When a girl slips on the ice, why can’t her brother help her up? Because he can’t be a brother and assist her too.
Post a Comment