views:

97

answers:

2

Hello,

I'm part of a distributed development team. We all work through terminal services, accessing a remote server where our applications are located. We're working on a project in which a client application consumes a WCF service, which exposes all the business logic functionality.

In our development process, a developer is often asked to develop an entire use case from user interface to database access, including the service and the business logic. In such cases the developer must be able to debug the functions/methods on the server side that she/he has build for a given use case. The problem with that is that the service must be run and when another developer needs to debug his/her work, an exception is thrown (I think it is 'AddressAlreadyInUseException' not sure) and the 2nd developer is not able to perform any kind of debugging at the service. This happens even thought we (off course) have different windows usernames and hence we are working in different sessions.

It's still possible for the client app. to continue working with the 'original' service instance since we're catching the exception at the service, but debbugging is impossible. And if the first developer stops the wcf service then the app. fails.

I would like to know if you could have any recomendation for us. My be there's some sort of tool available (even if we must pay for it) that could somehow isolate each developers' workspace at the server... or may be we just need to change something in the way we work.

I would be very grateful for any kind of advice or clue. Best regards,

Gonzalo

A: 

I would recomend that each developer had their own copy of the server services.

When we develop, each developer has a full environment on their machine. As things are completed, they are checked in to the version control system. When the other developers get the lastest version, new functionality is spread to the other developers.

If I understand your setup, all developers are working against the same server, in this case a programming error of one developer will stop all development.

Shiraz Bhaiji
Hi Shiraz,Yes, that sounds right. The problem is that we would have to download all the code, the client and the server and we can't do that for several reasons (Company policies among others). The problem we actually have is worse becouse this way just one deveolper at a time is able to debug the service.Regards,Gonzalo
A: 

Hey man, the debugger connects through IP communication. That means if a service or process binds a listener, no other service or process can bind this IP port a second time.

That is the reason for throwing the exception.

In Citrix you have the Virtual IP configuration. You can also consider to place a VM on the server that serves only for one developer. This would also solve this problem