System requirements for using ASP.NET - asp.net

I consider to use ASP.NET for developing a real-time appication that will be shown on a browser (IE, FF, Chrome etc.).
I'm wondering what are the system requirements for the server side where the application will be deployed?
Do I have to use IIS or I'm free to choose any web server I want? If IIS only - does it part of any Windows installation (so users do not have to pay extra charge for that?)
Do I have to install .NET Framework?
anything else?
Thank you!

You don't have to use IIS, you could use Apache, nginx, or xsp, but doing so means you have to use mono which is an open source version of the .NET framework, it's a couple of versions behind the real thing, you can find out more info here: http://www.mono-project.com/ASP.NET
If you choose to use Windows/IIS, then IIS is a feature of Windows that can be installed free of charge. You will need to install the .NET framework in order to host an ASP.NET web application, like IIS, the .NET framework and ASP.NET are features of Windows Server 2008 and above that can be installed/uninstalled whenever you like, for free.

Related

Why can't ASP.NET be hosted on a linux server?

ASP.NET is open source so shouldn't it be able to be hosted on any server just like a web app written in any other open source language such as php not limited to a windows server?
ASP.NET Core, the latest version (still in preview) in fact can be run on Linux.
Previous versions of ASP.NET have a dependency on the .NET Framework which only runs on Windows.
Technically, you can via ASP.NET Mono, and in fact Mono has support up to ASP.NET 4.0 and MVC 3.
The limiting factor really is IIS doesn't run on *nix, so you'll not be able to use the configuration aspects of the projects, but you can run the code via Apache modules or FastCGI.
The ASP.NET framework isn't open source (it has too many dependencies on internal code) but ASP.NET MVC and the new .NET Core, and ASP.NET Core releases are.
But just because something's open source, doesn't mean it "runs everywhere" it just means that you have some rights to look at the code, and typically can do things with that - someone still has to write an engine that can interpret and run your code on another operating system.

What web server does ASP.NET MVC 5+ use on non-Windows platforms?

I am confused about the cross-platform aspects of ASP.NET 5 and beyond as it relates to web applications.
If I do not have IIS on Linux or Mac OSX, what container do I use to run ASP.NET (for web)?
I saw an example using cloud based, but what if I want everything hosted in-house?
Asp.net as it is today will not run outside windows, however with vnext due later this year (in beta now) it will. Perhaps take a look at the beta at asp.net/vnext
Try with kestrel
https://github.com/aspnet/KestrelHttpServer
Kestrel is a web server based on libuv like node.js

Installer App Asp.net 4.0 Cassini SQL Express

We have built an ASP.NET application in 4.0 (we can change it to 3.5 if necessary) with a SQL Server database.
I am looking to create an installation package (exe or msi) so that I can provide this file to my clients and they can install it on all of their laptops. This asp.net application will be running on laptops that don't have access to the internet.
Some of these laptops have XP Home, Win 7 Home, and other windows operating systems and not all of them have IIS installed. Is there some sort of simple application that I can use to create an Installer application where it will install IIS or some other web server, SQL Express, and .NET framework 4.0. If these applications are installed already, then it shouldn't install it. Any suggestions?
Thanks!
You could accomplish this using a Setup Project in Visual Studio.
I know about Web Deployment Packages. See if that helps in some way.
Check this extensive list of useful links:
Overview Post for Web Deployment in VS 2010
My company (Comet Way) makes a product that is designed for this: http://www.neokernel.com. Our customers use it when they need to access web databases offline on laptops. It's an assembly that you can distribute with your product without requiring a separate install, it works on any machine with .NET (or Mono), and it implements a full featured secure web server that runs any website that IIS will run.
Hope this helps,
Damien

When is ASP.Net 4 available on a server

i was building a new small website for an existing client, and thought about building it with ASP.Net 4.
But in the apppoolsettings, i could only choose framework 2.0, so i guessed that 4.0 is not available on the server.
Is it something i have to install on the server, or will it be installed via windows update somewhere in time?
it's a win2008 standard server.
You can certainly download and install it yourself, e.g. from here. You want the full .NET 4, not the .NET 4 client profile - that doesn't include ASP.NET.
According to this blog it will eventually become an optional update on Windows servers (if it isn't already).
you just need to install .net framework 4.0 on server.

Do a Windows application ifself contain the .NET framework?

I have a Windows application which contain a deployer.
Does the deployer itself contain a copy of the .NET framework?
Or do we have to explicitily install it?
When I check in the solution explorer, it shows the .NET framework under the deployer project under detected dependencies?
My Windows application connects to the Internet to validate for a registered user. Do I need to configure some port (or something like that) while I am installing it? Also how do I check which port my application uses to connect to the Internet?
Regarding #1, just as Xstahef said, you need to prerequisite the .NET framework.
You could put the .NET redistributable in your installer, and if you detect that the .NET runtime is not installed then prompt the user to run and install the .NET distributable contained in your installer (that's what we did some time ago, InstallShield provided this functionality for us). But this may not be recommendable: the .NET runtime has grown a lot in size (depending of the version you need to have in your client's machine), and many customers (at least the educated customers) won't trust installing the runtime from your installer. Besides, you may need to check with the legal department in your company before including a third-party component in your installation.
It depends on your deploy project (Visual Studio, InstallShield?). But commonly, you need to force the .NET installation (prerequisite option). By default, .NET is not contained in the deployment projects.
Here, it depends on the way you want to connect the Internet.
.NET runs in a VM, so you would need to require the framework be installed in order to actually run it. Much like you need to have Flash or Java for those respective mediums. Microsoft has redistributable packages for the .NET framework. So you could probably incorporate them into your installer. If you're targeting 1.1 or 2.0 most people probably won't need it.
So long as you are not trying to get in to the client machine then you shouldn't need anything special like UPnP to [attempt to] open a port if they are behind a NAT router.
Xenocode does allow to running such an application on an absolutely clean PC.

Resources