Having used a lot of scripting languages, it's pretty simple to make a change. No compilation necessary.

But now I have an ASP.Net C# application. It's small, so I can learn from it, but how do I make changes when they are small? For example, say I need to add a column to the API. I forgot one.

What do I do? The application is one DLL. I can add it and create the site and get away with it because it is a small application.

What if it is an entire Intranet? Lots of things going on. How do I structure this and maintain it?

If I have an HR, Board, Committee, Management, etc., are they all different DLLs, all different ASP.Net Visual Studio projects? It gets even more complex if I use Razor (I think) because I should probably use VS for that front end as well.

What do I do when I make changes? Is this what Continuous Integration is for?

I have read this, but I'm not sure it answers my question.

  • 1
    You should check out orchardproject.net. Orchard has a reputation for being very well organized. Commented Mar 28, 2017 at 17:53
  • Actually, I have been doing that. I read that somewhere else on SO.
    – johnny
    Commented Mar 28, 2017 at 20:15

1 Answer 1


Well, mainly, it depends on how large you're.

If you're aiming for medium-large (peaks to 500 concurrent users give or take), i would tell you to go micro-services instead of a monolith. Check out DDD, and other project organization strucutures...

But, answering your questions directly, when you make a change on your code, you have to redeploy, which, yes, means opening up the server somehow and replacing the dll and running a IISRestart... There are tools to help you do that.

Continuous integration covers that, but the tools you're looking for here is continuous deployment tools, where, for example, upon committing/checking-in the tools (such as TFS, or GIT+Jenkins, or others) will compile your code, run your tests, do whatever else you want, and then deploy your code to production all-at-once or piece-by-piece...

The main thing is that there is no right or wrong here. There are solutions/techniques that best fit your needs or not...

  • My problem with Microservices are transactions and data-integrity. I will look at the other things you mentioned. Thanks.
    – johnny
    Commented Mar 28, 2017 at 20:23
  • @johnny data-integrity is indeed a problem, but transactions should not be. It's not ideal but WCF/MSMQ accepts "TransactionScope" for example... the better option here is to not have transactions at all
    – Leonardo
    Commented Mar 28, 2017 at 21:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.