What's the best deployment strategy for ASP.NET - asp.net

I work for an ISV and we have a vanilla ASP.NET (no mvc) web application which we deploy to our customer sites.
We're currently doing it via xcopy and IIS manually.
What's the best technology to use to deploy it? ClickOnce? WebDeploy? Something else?
Tips appreciated.

WebDeploy FTW.
Check out this excellent article/video from Scott Hanselman.
Handles config transformations as well as the painful task of database deployments.

I just implemented Web Deploy this afternoon by following this article by Scott Gu and I've found it extremely useful.

Related

Are There Any Server Options for ASP.NET Other Than IIS and Apache?

Curious as to if ASP.NET is compatible with any other web servers out there (ie. node.js).
A quick search revealed there are a few other options:
Aprelium
Neokernal
Casssini
Cherokee
IIS is still probably the way to go though for asp.net. I'm not a Node expert but from my understanding Node.JS is not related to asp.net. Scott Hanselman wrote this blog post on how to get Node.JS running on Windows through IIS, I've just skimmed the article but you might find it interesting.

db4o on shared hosting with asp.net MVC

I'm wanting to use DB4o on an asp.net MVC project i'm working on but wondering if anyone
has got this working on shared hosting plan, have contacted discountasp and asked them and they said go to the forum
as they were not sure if they supported it or not or any configuration that would be needed.
but the forum wont let my post on because its all filtered to only show comments they like the look of?
anyone had any joy with this with another host and one that runs asp.net MVC as it should be run?
much appreciated
ta
I'm not familiar with the framework, but it seems that you can just place the DLL in the bin folder and you should be set. I've done tons of projects with MVC and the same method of placing the DLL in the bin folder and worked without issues. The host I use is ReliableSite...they're cheap and don't charge $10/mo for a SQL Server database like DiscountASP does.

Detecting Changes in an ASP.NET Web Site

The ASP.NET framework does a very good job of detecting when a file has changed and recompiling that file etc. I would like to be able to hook into that update process. Is this at all possible?
I might want to do this as part of an initiative to try and version web sites developed as Web Site projects, versus Web Applications, where the version is easily found in statically deployed assemblies. If I my be misdirecting my energies as there are already better way if versioning web sites, I'd still appreciate some pointers.
I don't know if you can hook into that logic at all - perhaps you could add your code to Application_OnStart as this method will fire when ASP.NET recycles the AppPool and restarts the website.
Have you tried Web Deployment projects?
Scott Gu has a blog post.
You can use ASP.NET SignalR to do it, It's real-time web for .NET
Have you tried developing a separate module for ASP.NET that keeps track of last change?
This might put you on the right path (might -- I haven't tried this).
http://www.codersource.net/csharp_iis_metabase.html (dead link)

How to configure Nhibernate in ASP.Net

I am a beginner in ASP.Net. I am starting a new project using ASP.Net and Nhibernate. I figured out that the hibernate.cfg.xml would not do the trick for the configuration of Nhibernate. I googled for on how to configure NHibernate in ASP.Net and this is simplest that I got but I can't get it to work. I also downloaded some projects using ASP.Net and Nhibernate but can't seem to understand how it is configured. And so I am here asking for your opinion/knowledge.
How do you configure HHibernate in an ASP.Net project? or can you please provide a link to
tutorial on how to do it.
Thank you in advance.
Here are some resources that helped me when I first did an ASP.NET project with nHibernate.
Intro and Configuration
Architecture
Best Practices
Good luck and great choice!
If you are really starting the most simple way to start is
trunk\nhibernate\src\NHibernate.Example.Web
or
branch\2.1.x\nhibernate\src\NHibernate.Example.Web
link: http://code.google.com/p/nhprofile/downloads/list

What is the best way to rollout web applications?

I'm trying to create a standard way of rolling out web applications for our company. Currently we do it with zip files, vbscript/javascript, and manual some steps.
For thick client installs we generate MSI installers using Wise/Wix. We don't create installers currently for websites as in general they are just xcopy deploy. However we have some config files that need to be changed, verify that certain handlers are registered in IIS... The list goes on.
Do most people use MSI installers for web applications as well, or some other tool/scripting language?
I recently spent a few days working on automating deployments at my company.
We use a combination of CruiseControl, NAnt, MSBuild to generate a release version of the app. Then a separate script uses MSDeploy and XCopy to backup the live site and transfer the new files over.
Our solution is briefly described in an answer to this question Automate Deployment for Web Applications?
Do consider MSDeploy, that is the direction Microsoft will be investing in the future for deployment of web applications...
Know more about the future direction at Overview Post for Web Deployment in VS 2010
We have been using FinalBuilder (www.finalbuilder.com) for this purpose for long time and for some time also using InstallAce (www.Installace.com) for build deployment on the Web Farm.
You may want to look at:
How do I get a deployable output from a build script with ASP.NET
Step by Step ASP.NET Automated Build/Deploy
We use MSI to create basic installers for our web projects too, often using the Web Setup Projects in VS and sometimes completely custom installers. You may also want to look at MSDeploy.
We're moving to an MSI for our installs, so far with mixed results. I'm a control freak so I would personally prefer a series of scripts that I had more direct control over. I've used ANT in the past with good results.
Have you checked out NAnt and CruiseControl?
Combined, they can provide an easy and automated way to build and deploy your web apps.
I work for a state agency and we do all our deployments using a product called RepliWeb.
It works good because as dev's we have no control over the webservers. But we can deploy to a deployment area and run the RepliWeb job to do the deployment. Not sure on pricing though...

Resources