An easy way to run an ASP.Net application at home? - asp.net

I'd like to run some small private/home applications on a local machine, but I dislike the idea to set up a full Win2003 Server with IIS for this.
Is there a easy and cheap way to get an ASP.Net application running at home?

Windows 2000 has ASP, Windows XP Professional also can run it. Look up how to turn on IIS, the built in webserver. Sure Win2k3 Server would be a nicer implementation, but for personal stuff, any of them work.

The easiest way, assuming your desktop has an OS that supports it, is the Microsoft Web Platform Installer. Requires XP or higher, but doesn't work on Home editions of XP or Vista. It'll install IIS (which version depends on your OS), SQL Server 2008 Express, the .Net Framework, Visual Web Developer 2008 Express, ASP.NET MVC, Silverlight, and more. There's even a video on the linked page that'll show you how to set it all up.

Try VIsual Studio 2008 Express Web Developer. It's free, and better than many that are not. It comes with a built-in web server so you can compile,deploy and test immediately. No need for IIS.
http://www.microsoft.com/express/vwd/

Depending on what kind of app and what version of .Net you could run Cassini. It's the free, open source web server that supports .Net. I'm not sure if it's been updated to handle 3.5, but I used to use at home to run some pretty serioud 2.0 apps that I had written.
Here's the Ultidev version which has been updated: http://www.ultidev.com/products/Cassini/ Looks like it'll handle 3.5, so pretty much anything you have.

I have been running .NET apps on my home machine (XP) for years, and ASP apps for years before that. Just install IIS and then the .NET frameworks (and whatever else you need, e.g., MVC) and you are good to go. If your machine is behind a router you will need to port-forward port 80 to your desktop. If you do not have static IP, you can use a free service like DynDNS.org to give you a hostname, and you run a small client to keep the DNS for that hostname pointed to your router's IP. If you want to use your own hostname, register one with someone like GoDaddy.com, and then use a free service like ZoneEdit.com to keep the DNS updated with the correct IP.

Related

What is the difference between IIS server and development server provided by Visual studio?

Can anyone please tell me the difference between IIS Server and Development server provided by Visual Studio.
Here is a few links to read up on :-)
Core Differences Between IIS and the ASP.NET Development Server
ASP.NET Development Server or Localhost IIS?
What are the (dis)advantages of using Cassini instead of IIS?
I don't know why your looking into this but you might want to take a look at IIS Express - Introducing IIS Express
There are MANY differences, some of them:
Local access in Cassini
Cassini does not support S
Cassini runs as your account (whoever is logged on), IIS runs as a service which means some things change quite a bit
Does not support authentication methods like Basic, Digest, etc.
Does not run any of the IIS Modules, which means you will not be able to do things like URL Rewrite, Default Documents, Directory Browsing, Custom Errors for static pages, etc
Does not support things like Virtual Directories, etc.
What I would recommend for anyone wanting something as simple as Cassini, yet more compatible is to use IIS Express which supports almost all features from IIS yet with a much simplified model suited for development http://weblogs.asp.net/scottgu/archive/2010/06/28/introducing-iis-express.aspx. Visual Studio will include support for it.

ASP.NET app running from CD

I've developed a very simple ASP.NET (jQuery) application.
The RDBMS is MS Sql Server but I could easily convert it in MS Access.
My client would like to have it available on a CD, ready to run.
I was thinking to convert it in a WinForm app but, still, I have to install the framework on the client.
Is there any other "possible" solution?
You're going to have more trouble trying to run a web app on a client machine than you will a desktop application.
A web app requires some sort of web server running, but a desktop app just needs the framework.
You're going to be better off converting it to a desktop app.
If your users are running versions of XP, Vista, or Windows 7 that include IIS, you could conceivably install the application into a virtual directory. That's a lot to ask from end-users, though. Most users won't have IIS installed even if they are running a version of Windows that offers it.
I haven't tried this, but I just found it by searching for "portable asp.net web server"
http://www.codeproject.com/KB/aspnet/TinyWebServer.aspx
Introduction
Have you ever wanted to show up an
ASP.NET project where IIS was not
accessible? Have you ever thought of
if there can be a way to carry your
web server wherever you go, i.e., on a
USB flash stick or even a CD?
If so, then this cool TinyWebServer is
for you! This tiny portable web server
can be used for testing and developing
ASP.NET projects, wherever IIS is not
available.
Should be simple if you convert it to HTML & jquery script. As HTML doesn't require any seperate runtime & also worth considering asp.net runtime also does the same thing when the response is sent to the client.
You maybe able to do this by using something like cassini http://www.asp.net/downloads/archived/cassini/. This is a simplified version of the visual studio web server that you see when you run from visual studio.
In my team we have used this and wrapped it in a exe that allows us to start the cassini server and start a browser to the cassini server address.
This still relies on the right version of .NET Framework being installed.
EDIT: Some more recent links http://ultidev.com/Products/Cassini/ and
http://blogs.msdn.com/dmitryr/archive/2008/10/03/cassini-for-framework-3-5.aspx

ASP .NET 2.0 on Apache (Windows XP)?

I am building an ASP .NET 2.0 web app for an intranet environment. The site may have to be hosted on an XP machine in the LAN. IIS would restrict the number of connections to 40.
My requirements are different - the number of clients in the LAN could be much higher - say upto 1000 or maybe even more.
The site is built using ASP .NET 2.0 and extensively uses ASP .NET Ajax 1.0.
What options do I have? Is hosting it on an Apache server possible? (with ASP .NET Ajax)
If not, any alternatives?
Thanks.
EDIT: I've heard about ultidev cassini. Is that a good option (ASP .NET 2.0+ ASP .NET AJAX 1.0)?
I wouldn't consider cassini, in my experience it's too slow for production. Other alternatives:
Apache + mod_mono (but your app would be running under Mono instead of "standard" .net, which may or may not bring its own problems)
Apache + mod_aspdotnet (but this mod seems rather old and unmaintained)
Buy a Windows Web Server license (2003 or 2008), but I guess that's not an option is it? :-)
With those sorts of numbers, you should be able to justify a license really - will they all be accessing the server concurrently - if not you might be able to get away with the XP hosting.
How are you managing 1000 users without a single server instance in there - surely one of them has a bit of capacity to run IIS?
You can get a Windows Web Server 2008 License from around $469
This doesn't require CALs for access, but (IANAL) you might not be able use Windows Auth with that and it should be a public facing website...

Is there a small classic ASP server like ASP.NET Development server that comes with Visual Studio?

I would like to hear if there is a small classic ASP server, similar to the ASP.NET Development server that comes with Visual Studio?
We are a small group that supports a legacy (classic) ASP site, and would therefore like to have a small server that easily can be executed on a Windows XP machine. Currently we're stuck with IIS 5.1 on our development machines (and because we're running XP Pro, we cannot update to IIS 6 or 7).
I've tried installing the Cassini web server, but that doesn't seem to work with classic ASP either.
You're not going to get anything extra from ASP by running on IIS 6 or 7. Are you having any specific issues with being stuck on IIS 5.1?
Have you tried Baby Web Server? - http://www.pablosoftwaresolutions.com/html/baby_web_server.html
The short answer is No, there is no small web server that runs classic ASP. There are many alternatives, as mentioned here, such as IIS or Apache plug-ins, but none that has a similar small footprint like the ASP.NET Development Server that comes with Visual Studio and that supports debugging.
There is a small footprint web server that runs Classic ASP.
Its called Abyss Web server. Abyss Web server is produced by Aprelium software and can be downloaded free of charge. Abyss Web server can be configured to run with ASP.net OR Classic ASP.
The Server can be configured to run ASP.net without any addition downloads.
To run Classic ASP on the server a program called ActiveHTML written by Selisoft must be downloaded and configured to allow Classic ASP to run on the Abyss web server. Active HTML is on a 45 day free trial and if you like it the purchase price is currently around 30 to 40 euros depending on whether you need a client or server version.
Hope this helps.
Anthony
Abyss web server http://www.aprelium.com/ supports classic ASP (also ASP.Net, Ruby, and PHP) with a 3rd party extension that cost $$$. But at one point there was a free version of the third party component, you MIGHT be able to find a copy of that still floating around. Not sure about debugging.
Baby ASP Web Server can take care of things for you, PLUS you don't have to install it, so it doesn't plop all sorts of crazy settings into your registry.
Get it here
Your only real choice is to either run Windows server or Vista in order to get the latest version of IIS.
Cassini doesn't support classic asp.
According to this post it is not possible to run ASP on Cassini. A couple of google searches later I have still not been able to find any other alternatives either.
What functionality is it that you're after? If it is the quick-and-easy running features of VS, you can quite easily make the IDE debug on IIS (although ASP cannot technically be "debugged" - what you really do is just run it with the Ctrl+F5 command).
Here is a web site that allows you to run classic ASP pages from any web server (including IIS and Apache), but it costs money:
http://www.selisoft.com/en/ahtml/index.phtml

As an ASP.NET Web Developer using Visual Studio, should I have IIS installed?

We do ASP.NET Development using Visual Studio.
A discussion point we've just had is whether or not our developers should have IIS installed.
With the ASP.NET Development Server you can run your web apps without IIS. Once you're happy with everything you can then deploy it to a test server running IIS and then onto Live.
In my opinion, all developers should also have IIS installed on their own machines as that will eventually be the end platform for the application.
The arguments are basically if the developer should have as close to "live" an environment as possible, or if the developer should only have the tools they require and not be cluttered with other things.
None of this is missions critical and I'm sure everyone will have a differing opinion. I'm just interested to hear some of them!
Robin
I'm going to say unequivocally yes. IIS and Cassini are not the same and not exposing your code to production conditions can cause you problems. Better to get yourself in the habit as early as possible.
(obviously you can replace "IIS" with "Apache" or whatever your webserver tech is)
I would say that you don't need to have IIS installed, but that you should test on IIS at some point.
The Development Web Server has two "issues":
it only works for local requests
ALL requests are passed through ASP.net
Especially the second point can really open ways to shoot you in the foot. "Why can people access SuperSecretPicture.jpg? I have a Handler in my Web.config that blocks that!".
But if you know about those limitations, then I find that the Development Web Server is better to start with since you can first focus on your code and then about your environment, but YMMV.
The bottom line is if your application is served by IIS, you should be testing on IIS. If that means IIS on your local machine or a dev server is up to you.
What harm can it do having it installed? At least if you have it installed you can choose to use it or not. The day you need to debug a webservice call from an externally hosted application you don't want to be messing around installing it.
Depends - are you running server versions of windows for you dev boxes?
Because, e.g. the XP version of IIS is different from 2000/2003 server, so you'll get a different experience. Similarly, if you develop on Vista but plan to deploy on 2003, it won't be a "complete" experience.
We have IIS installed on our local machines at our work for development purposes. We need to test the web applications against IIS, but neither do we want to release it to our live server, or to our test server as that requires a lot of work. Instead, we just host it locally and everytime we modify a file through Visual Studio we can then instantly see the changes without having to go through a file copying process.
I don't think it's a bad thing at all, as long as everything's secure you'll be fine.
Ideally your test server should mirror your production server. That should go without saying. In my opinion, your dev environment should come as close as possible, while fulfilling your needs first (I prefer to keep the dev environment as self-sustaining as possible, in case I am disconnected from the network).
I have no problem using the dev server for development, and IIS (locally or remote, as the case may be) for testing - but it depends on the project requirements too. I prefer to host web services on the local IIS server, for example. YMMV.
We develop on laptops using virtual machines. This way, if the virtual OS crashes (or the host OS, for that matter) you just copy your vpc back over from the network (where we have backups) and you are good to go. also, it makes it WAY easier to run a "standard" development platform wich is as close to production as possible.
For us, we HAVE to have IIS installed, as we are developing Sharepoint '07 webparts.

Resources