Reputation: 150108
I'm looking for the best approach to share types (the actual classes, not proxies) between a WCF service and a client. To that end, I defined the classes in a separate assembly that both service and client reference. I selected "Reuse types in all referenced assemblies" when generating the service reference in the client, but References.cs is generated with proxies for all classes.
This is exactly the same question as this one, but I don't know how to implement the accepted solution. One difference is that I'm using VS 2010 Beta 2.
import the complete service contract in code form
or
create your own ClientBase-derived class. It's really very easy
Assuming this is the best approach, I would appreciate a good link that covers how to do this. Is the approach outlined in the linked answer the best one?
Upvotes: 11
Views: 9288
Reputation: 1575
Had the same issue, but the I forgot to build assembly with DataContracts for client and thus it was generating it's own contracts. Once I've rebuilt the assembly - it reused them.
Upvotes: 3
Reputation: 2901
My issue with VS2010 SP1 was trying to use a class that derived from Dictionary<T,U>
with a CollectionDataContract
attribute. Seems VS won't reuse the type... I also tried Eric's suggestion above, but it didn't work.
Upvotes: 1
Reputation: 150108
I did two things in the same step. Not sure if one or both resolved the problem:
Upvotes: 16