This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
I'm "playing" with Litespeed for possible inclusion in a new project we are working on. (I'm also new to the .net platform so there are many other concepts I'm wrestling with here). As context for my question here's a little background info. My solution contains separate projects for Domain Objects (Class Lib), DTO's (Class Lib), Presentation(WPF), Service Bus and Remote Facade. The DTO's are passed via the SB to the RF where they are assembled into Domain Objects. My presentation (and SB) have reference to only the DTO's. I love the autogeneratation of the Domain Objects, DTO's assemblers and disassemblers. Litespeed is cutting my manual code writing significantly- it's a great thing! My new proposed solution structure has removed the DTO library which is now included inside the automatically generated Litespeed DO library. I want the Presentation Layer to have reference to only the newly generated DTO's not the DO's. However, since the DTO's are generated inside the Domain Object namespace, it looks like I have to add a reference to the Domain Objects to access the DTO's. Do I need to change something to force creation of a separate dll for the DTO's that I can reference separately? Is there another way of ensuring the presentation remains unaware of the DO's?
|
|
|
We don't have a way of generating the DTOs into a separate project I'm afraid. It's an interesting idea and something we should maybe think about for the future, but there are technical issues that mean we probably won't be able to offer it in the short term. However, one way to handle this is not to share the DTO definitions themselves, but to use Add Service Reference to reference the service project that exposes the DTOs (I think this would be your Remote Facade). This will generate equivalent DTOs on the client side (presentation project). You won't be losing anything by doing this -- the LightSpeed DTOs are "plain old data" with no functionality other than the domain object copy routines (which you don't want to transport anyway). The only downside is that you will need to update the service reference when you change your DTOs or service operations -- VS will not detect this automatically. |
|