Architecture and Design Question for C# webapp

  • Thread starter Thread starter Jacob
  • Start date Start date
J

Jacob

I am designing a system which will have a C# backend and an ASP.NET frontend.
My question is about how I would best design the application. The first way
that I am considering doing it is writing a data access layer as part of the
App_Code directory inside the webapp which would just compile and run with
the app. The second option would be to create a server process that
interfaces with the database and then have the web frontend communicate with
the server process by an IPC method (most likely WCF).

It is likely that this application will have to support a large number of
concurrent users if that has an effect on the method selected. Any input
would be appreciated, a pros/cons list would be great if somebody has that
much time. Thanks in advance!
 
An architecture similar to what you describe has been used to test and show
the performance in different variants of ASP.Net, WCF (self hosted, IIS
hosted, different bindings), Database (SQL Server, others) by Microsoft to
show and compare performance of the selected technologies.

You can find the documentation and recommendation on MSDN:
http://msdn2.microsoft.com/en-us/netframework/bb499684.aspx

It's simple and clear. And shows different options performance impact.

I hope that this is what you are looking for.
 
If you want to "split the middle", you can write WCF code, but use named
pipes as the channel.


Regardless of that situation, take a look here:
http://sholliday.spaces.live.com/blog/cns!A68482B9628A842A!158.entry


I have another entry at my blog about "Custom Object Development II". Take
a look at that one.


The WCF with named pipes solution would be the place to start if you have
WCF in mind for the future.
That way, you still are doing a monolithic deployment (1 Web Server hosting
the client and the host for WCF, talking to a database that is probably on
another machine), but you've coded for the future when you want to offload
the services onto other business service machine(s).

But my suggestion is one of many I hope you receive.

There isn't a single best solution, that why there are architects....to pick
among the scenarios.
Hopefully, the article above will help you make your decision more wisely.
 
Back
Top