Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Breaking up an asp.net web application

Tags:

c#

asp.net

svn

Looking to gather some views on how a web application (Or possibly set of web applications) should be split up (Project-wise)... basically the whole thing is going to be one large site, but the problem arises because it has a variety of modules which each have their own dev/release cycles.

The problem that arises is that splitting them becomes a headache with trying to make the sessions share between sites and embedding shared resources in DLL's but keeping them as one big project is a nightmare from a source-control perspective.

The possible ways to do this that I can think of are:

  1. Have one application and branch like crazy for the work on each module: On a fundamental style basis this seems right, but it would be a lot of branches and merging branches back in all the time would be a nightmare...
  2. Make them all separate applications: The drawback is they all share their master pages and a lot of custom controls (implemented in ascx). I know how to put these in a DLL (Using virtual path providers), but it's a fairly messy solution. On top of this is passing the session back-and-forth between the applications essentially building a homebrew session solution...

Another thing I tried to find out whether I could do but failed was to somehow have a "virtual folder" of sorts in the csproj so that for example the "ModuleA" folder actually mapped to "../../../ModuleA/Trunk/". I'm relatively convinced this can't be done without using some kind of pre-build scripts but I was hoping for something that'd actually load appropriately in Visual Studio so I think this idea is a no-go...

Does anyone have any advice as to which way I should go with this (Whether it's one of the above or something I haven't considered)? Want to make sure I don't shoot myself in the foot here cause it's likely to be a long-term project with a lot of future enhancements/maintenance...

like image 751
fyjham Avatar asked Dec 09 '09 14:12

fyjham


People also ask

Is ASP.NET going away?

Does this mean ASP.NET Web Forms is dead and should no longer be used? Of course not! As long as the . NET Framework ships as part of Windows, ASP.NET Web Forms will be a supported framework.

What are the most important performance issues in ASP.NET web applications?

High response time of the ASP.NET request handling service. High CLR wait time. Improper caching. HTTP errors including static and dynamic content errors and connection errors.

Is ASP.NET deprecated?

Note that the entire ASP.NET MVC library is now obsolete.

Is ASP.NET used in 2021?

ASP.NET Is Worth Learning In 2021 The ASP.NET environment is phenomenal; developers can create powerful applications faster than those built with JavaScript or PHP. It is an open-source cross-platform with incredible technical support. .


1 Answers

I have done that in one of our project. There are definitely certain issue we faced during development but it is definitely worth to separate project in separate dll for maintainability

As you have also suggested for virtual path provider i am having certain link for the same which may help you. Also to pass data between two modules we have created properties in interface and created separate project for interface and all the modules implement that interface, so we can pass values from one module to onther module.

Also, it is always advisable if you are building modular application then it should be independent from one another but finally it depends on your requirements.

Link1

UC From Database

Certain links for session sharing between App (I would not suggest to share session but still if you want you can go through this articles)

ASP .Net Forum

Using State Server

StackOverflow

like image 175
Harryboy Avatar answered Oct 12 '22 01:10

Harryboy