473,385 Members | 1,661 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Transition from ASP/COM+ to ASP.NET model

I have been developing ASP applications for quite a while now. Most of the
apps that I deploy are a typical n-tier setup. ASP GUI on a web server,
Business and Data Components written in VB6 running in COM+ on a separate
server with the SQL database residing on its own server.

I don't really use COM+ for the transactions but more for the DCOM
capabilities and as a way to control the running program. If I need to
compile out a new version of an component and the website is being used I
can just stop the component and then compile it out. Otherwise VB won't let
me compile it out because the component is in use.

My question is how does this translate to ASP.NET. I have read many
articles but have never come across an answer that answers this question for
me. I guess I'm wondering what the best practices are with is comes to
deployment.

Should a lot of the business and data logic I write be contained on the
webserver in the Code Page Behind? Or should I separate it out into like I
am currently doing? If I deploy it like that and need to update components
can I compile over the version out there even if its being used or will I
get an error because the dll its trying to update is in use?

I know there is a right or wrong answer, I'm just looking for the most
accepted way of doing it as a starting point.

Mike
Nov 17 '05 #1
1 1573
"Mike" <mr********@NOSPAMATALLcalibrus.com> wrote in message
news:O0**************@tk2msftngp13.phx.gbl...
I have been developing ASP applications for quite a while now. Most of the apps that I deploy are a typical n-tier setup. ASP GUI on a web server,
Business and Data Components written in VB6 running in COM+ on a separate
server with the SQL database residing on its own server.
Wow, RAD!! Been there and loved every minute of it.
I don't really use COM+ for the transactions but more for the DCOM
capabilities and as a way to control the running program. If I need to
compile out a new version of an component and the website is being used I
can just stop the component and then compile it out. Otherwise VB won't let me compile it out because the component is in use.
You can register your COM+ app as Server application instead of a Library
application. This way, your app runs in its own DLLHOST.EXE process instead
of running inprocess with inetinfo.exe. It's easier to shutdown the
component in Component Services this way so you can recompile. Also, you
can designate your IIS virtual directory to run High (Isolated) protection.
Your virtual directory will also run in its separate instance of DLLHOST.EXE
that you can find in Component Services. You should avoid running both the
virtual dir and the component in their own DLLHOSTs for performance reasons
(cross-process marshalling, etc). What I used to do is run the virtual dir
in High(Isolated) and run the COM+ app as a Library application. If you
need to replace the dll, simply Unload the virtual directory inside IIS
Manager to release the dll.

My question is how does this translate to ASP.NET. I have read many
articles but have never come across an answer that answers this question for me. I guess I'm wondering what the best practices are with is comes to
deployment.
Have a look at the Duwamish example on MSDN:
http://msdn.microsoft.com/library/de...duwamish70.asp
It's even better if you can download the whole solution so you can see the
Enterprise template they use. My team and I generally stick to this
methodology, now. Start with a solution, add a Web project, add another
project for the Business Facade, add another project for Business Rules, add
another project for Data Access and maybe other common data objects. Add a
database project to house our stored procedures

Should a lot of the business and data logic I write be contained on the
webserver in the Code Page Behind? Or should I separate it out into like I am currently doing? If I deploy it like that and need to update components can I compile over the version out there even if its being used or will I
get an error because the dll its trying to update is in use? No. Use code-behind to separate presentation code from the aspx page - i.e.
no more "<%%>" tags and "<script runat=server>" tags . Use code-behind also
to handle postback events and to call Business Logic layers through the
Business Facade layer. Example, have the code behind call BusinessFacade to
call DataAccess to request a DataTable, then set a DataGrid's DataSource to
the DataTable and call DataBind(). The important thing is to keep
BusinessFacade the public interface, i.e. code-behind should never directly
call the DataAccess layer.
I know there is a right or wrong answer, I'm just looking for the most
accepted way of doing it as a starting point.


I don't think there is a right or wrong answer. It starts to become an art
after a while, then it becomes a matter of style. Two sets of code may do
identical things but one may look more elegant and perform better than the
other.

Nov 17 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

21
by: Steven Bethard | last post by:
Jack Diederich wrote: > > itertools to iter transition, huh? I slipped that one in, I mentioned > it to Raymond at PyCon and he didn't flinch. It would be nice not to > have to sprinkle 'import...
1
by: Terry | last post by:
Hi, I am looking for a javascript that can do a banner rotation of multiple images with nice transition between them. The pictures will be displayed automatically upon loading the pages. ...
3
by: Richard A. DeVenezia | last post by:
I hope this is the end of my present 'discovery' phase. I've learned alot about JavaScript in a short time and my head hurts. The following is what came out of all my questions and all the...
5
by: _BNC | last post by:
I've been adapting an older unmanaged C++ legacy app to C#---with limited success. The original app made use of an older, but straightforward, C DLL that worked efficiently under the VC++ 6 model....
8
by: Workgroups | last post by:
I've got a page where the nature of the beast is such that the user clicks a submit button to ransomize some data in somewhat rapid succession (once per second, give or take). The page generates a...
1
by: Busy | last post by:
Hello Everyone Please can someone point me in the direction of a really good tutorial or discussion on PHP page transition? What I'm looking for is coverage of page transition that covers: ...
3
by: Mike | last post by:
I have been developing ASP applications for quite a while now. Most of the apps that I deploy are a typical n-tier setup. ASP GUI on a web server, Business and Data Components written in VB6...
2
by: Emil | last post by:
Hi, if you open the link below and click on "Show Me" and then "Toggle Transition" Button you will see a wonderfull fade in / fade out transition of 2 pictures. ...
14
by: Gale | last post by:
I wrote a simple script for image rotation. now i need to have some transition effect betwean images in JS What do you suggest ? Thank you
1
by: papalazarou78 | last post by:
Hi I've been experiementing with actionscripting transitions between sections... this is the first site I have tried this with (last 3 had swf loaded in one after another rather than transitioned...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.