|
技术资料 > ASP技术 > ASP应用 : 谈谈对于ASP+ PDC bits的经验 |
谈谈对于ASP+ PDC bits的经验 March 25,2004 |
My Experiences with ASP+ PDC bits
Now that the ASP+ sdk "pre-beta" has been released to the masses. Many people are scrambling to get it
installed and start to play with C#, ASP+ and many other toys that come with the SDK. Being the
webmaster of ASPFree, I've had the privilege to work with two versions of ASP+ builds. And I may add, how
stable both versions have been! Its definitely been an experience, this article I hope to express some of
the things to help guide individuals who have to install and support this in their environment.
First of all, "DON'T INSTALL ON YOUR PRODUCTION SERVERS!!", I can't stress this enough, this is "pre-beta"
software. Microsoft WILL NOT support pre-beta software. ASPFree is "production" I guess, but it doesn't
hurt anything if the site crashes or some pages don't display. The world won't come to an end, I use this
environment to learn new technology and share with others. I do have a development machine that I test
things before installing on the server that runs ASPFree. Some of the tricks I share in this article
are just my own experiences. These are the things I found helpful in keeping the samples up and working
for my visitors on ASPFree.com.
How do I get ASP+ installed then?
Before I'd do anything, do a complete backup...even on your development machine. I'd recommend a fresh
built machine with Windows 2000 and IIS 5.0, then install IE 5.5 and lastly the PDC ASP+ bits. Many of
the newsgroups I monitor, some people are having issues if they installed the PDC Visual Studio 7 beta
then trying to put on the ASP+ sdk. I can't comment to this because I haven't installed VS 7 beta. All I
can say install in this order, a fresh install of Windows 2000 w/IIS 5.0, IE 5.5 and PDC build of ASP+ .
Things should work fine!.
What if I have Classic ASP applications on my server?
If your installing ASP+ on a development machine with existing traditional ASP applications, things will
work just fine. I've installed the ASP+ bits many times and have yet to blow up any of my ASP pages.
ASP+ is designed to run side-by-side with existing ASP pages. If you doubt this claim, view ASPFree.com.
Since day one, I've mixed .asp and .aspx pages together with NO problems at all!
The First Build story
We had a couple of small issues with the first build that was installed on ASPFree. It ran pretty good
for about a week or so then we had a few odd things happen. Being "Pre-beta", I'd expected this to happen
sooner. I was very happy how stable the beta's were and the small amount of issues I really had! When
the samples would die or some other error popped-up, I'd re-compile the samples and that would take care
of them. Considering the traffic load ASPFree.com visitors put on them, they held up very well.
You ask how did I re-compile the samples?
1. Open a command prompt.
2 Map to the NGWSSDKsamples directory. If you took the default install, its c:program
filesngwssdksamples directory.
3. run nmake /all This will compile all of the samples again.
Another trick I found helpful when weird errors would come up, I'd use the "KILL.EXE" command that comes
with the NT/2000 resource kit. This allows you to terminate processes without restarting the server.
To "kill the ASP+" process,
Open the task manager (Right click on the start-bar)
Find the process xspwp.exe and/or the PID(Process Identifer)
open a command window (Start, run, cmd)
Type in "kill xspwp.exe" or "kill xxxx(4-digit id number)
Here is a picture of what I'm referring too.
Using the kill command has proved useful in both builds of the SDK that has been used on ASPFree. The
1st build was somewhat buggy and once in awhile things basically stopped working. The PDC build, the
one Microsoft just released to the world this week, is much more stable and I haven't had any problems.
Other strange things such as "This EVIL Process, NULL String in XXX" or whatever the error. Usually
killing the xspwp.exe process and letting another one start up usually fixes things. Please keep in mind
this article is based on "Pre-beta" software, using the kill command to fix these problems are rare now
with one exception.
What is the XSPWP.exe process?
This is the worker process that handles all of the ASP+ tasks.
Using the KILL command to help clean up virtual memory
Now this part is my own twisted way I came up with to keep the virtual memory down on my server. Another
thing you could do is add more memory. I however didn't have this luxury right away so I had to invent
something. Because the PDC build is "pre-beta", bugs are bound to pop up. When the ASP+ bits gets
installed, under the c:winntcomplusv2000.14.1812 is the global config.web. There is a section in the
config.web that is called IISProcessmodel. This part allows for configuring how much of the server
resources is used, how long the xspwp.exe process will live before another one is spun up etc.. Now
please don't take these numbers and ones to use. These are just samples!
After consulting with Microsoft, they suggested I try adjusting the timeout, requestlimit and
memorylimit.
Timeout: is for how long before a new xspwp.exe will be spun up.
Requestlimit: is a way to configure how many requests are handled before another process is spun up.
MemoryLimit: is a way to constrain so it doesn't suck all your virtual memory.
The nice thing I've seen after playing with different settings is this nice little error "Evil process
didn't release lock on file! UNDONE: Rip or fix this exception". We emailed this error into Microsoft and
they fixed it. The fix is probably going to be incorporated into the beta that is coming out. Once I
changed the numbers back to the default, which basically are infinite numbers. Things worked fine.
In the mean-time, I run a scheduled kill command to not only keep the xspwp.exe file from taking all
available virtual memory. So far, this hasn't caused any adverse side affects to the samples and things
seem to be running fine!
In conclusion
I hope these article doesn't scare you, I meant what I said. "DON'T INSTALL ON YOUR PRODUCTION
SERVERS!!". Your administrators will probably wonder why are they being called to support a beta
product. This article doesn't cover the many things that already work out of the gate, dynamically
installing dll's on the fly, caching to name a few. My opinion of this beta is such that enough of the
features work out of the box. Take advantage of this period to start learning how the "Next Generation" of
web development will be done.
Would I run a production environment on the current build? NO!
Is the current build very stable? Yes!!
I'm in a unique position with having this installed on ASPFree. I'm not only learning how to be a
developer of ASP+, but also how ASP+ will live on the server. I'm confident in the future builds,
Microsoft will have the performance and resource management needs taken care of. Again this is "Pre-beta"
software, but this is such a revolution and so many of the features work now! This head start will help
the developer community take advantage of this awesome new technology. Any questions or comments let me
know!
Steve Schofield
[email protected]
|
|