Click here to Skip to main content
15,888,216 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello,sorry if this question is duplicate, but I don't know where did the previous one go. Here it goes:

I've been asked to design a solution to integrate several ASP.NET applications, (some of them are big), where integrations means:

- Share layout and css
- Common header, footer and menu
- Share only one login area

I discard joining applications under one solution as they are big and in the future there may be more applications so I'm thinking of defining a MasterPage or Custom Control that will be included in EVERY page of every application.

This MasterPage or Custom Control will define the common parts and control the access security.

What do you think of this solution? Other (better) possibilities? What's better, MasterPage or Custom Control?

Thank you
Posted

Most certainly you need one solution. You say, it's too big. Wrong! Too big is your task; and you cannot make it smaller; by loosing integration of it under one solution you will have is only bigger (a bit, due to multiple solutions) plus you will loose manageability (which is probably already a problem). Do not do this big mistake.

There is a variant of a "master project" I used to implements in two big code bases. You could have multiple solutions in one integrated piece built by one master project in the format of MSBuild (learn this tool, it's very good to master it). In a way, this is still a unified solution; the only benefit is: you can open just one smaller solution at a time. Still, it's more likely that you need just one solution. Take into account that you're going to get rid of all duplicates; every piece of content/code should be in one single piece, not copies. D.R.Y. principle (Do not Repeat Yourself, see http://en.wikipedia.org/wiki/Do_not_repeat_yourself[^]).

On top of that, you need to develop some deployment strategy. You did not mention one important thing: is it supposed to be deployed on multiple servers or merged into one? If just one, is it one single site or multiple loosely-coupled sites in different virtual hosts and domains/sub-domains? If everything is merged in one bigger site — there is nothing special about deployment, if not — a bit more complex, yet this is not a sufficient reason to break the work into multiple solutions.

One formally unrelated but practically important issue is this: do you use any Revision Control System? I would say: don't even play with the idea of not using one. You should protect the development and start from putting all content in the single code data base. See this discussion:
Revision control systems, which to choose from?[^].

I don't think MasterPage and Custom control are alternative to each other. MasterPage is good to support consistent header/footer and other common elements, and custom control is a kind of modularity tool for compound controls. You most certainly need MasterPage nearly everywhere (as you indent to have such consistency) and UserControl where it is appropriate.

—SA
 
Share this answer
 
Comments
thatraja 20-Apr-11 23:22pm    
Fine suggestion SA.
Sergey Alexandrovich Kryukov 20-Apr-11 23:34pm    
Thank you very much.
--SA
Thank you for your resposne, I forgot to add that some applications are under VB and others under C#, I know they can share solutions, but I think it's an added difficulty, plus, the different applications use complex libraries, web services, someof them use COM libraries, etc. I mean, maybe lot's of references I think it would be better to keep separated.

By the way, I will use Microsoft Team Foundaion source control, do you see any inconvenience with he MasterPeges solutions?

By now I bet for the MasterPages solutions, it's not perfect but...

Anyway I will be happy to hear your oppinions.

Thank you
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900