views:

141

answers:

1

I am working on Silverlight client to Microsoft Team Foundation Server. I am using an ASMX web service to make the actual calls using the TFS api.

Everything works fine when I run it with the visual studio development server, but I cannot figure out how to deploy the app to IIS.

I can get the ASMX web service to work unless it is a call that uses the TFS api. I have tried putting all of the TFS api DLLs in like every directory that I can think of, and even installing the visual studio sdk. Nothing works!

UPDATE 11/15/09 7:50PM EST:

Turns out that the TFS api was trying to create a cache at c:\Documents and Settings\Default User\Local Settings\Application Data\Microsoft\Team Foundation\2.0\Cache\, and the IIS_WPG user didn't have access to do so. Easy fix.

A: 

The only supported way of installing the TFS API is to install Team Explorer. You could try to GAC just the assemblies you need, but you're on your own [and technically violating the EULA]...

Other things to check:

  • IIS is running in 32 bit mode
  • Impersonation is working correctly
  • Proxy settings

What error do you get? Have you tried attaching a debugger to IIS?

Richard Berg
IIS is running in 32 bit. Verified proxy and firewall settings to not be the cause. Could you elaborate on impersonation? That is something I am unfamiliar with. We have yet to attach a debugger to IIS, what should I be looking for with that?
Eric Henry
Your service needs to use impersonation so that the user's credentials are forwarded to TFS. Otherwise TFS will complain that it doesn't know who [your IIS service account] is. Attaching a debugger is the easiest way to find which line of code is throwing an exception + what the state of your internal variables are at the time.
Richard Berg