we have more than 30 classic asp and .net applications to be migrated to windows 2012 server from 2003 server.This is new task for me, so what are the steps/factors i need to consider or fulfill for this migration? with that I mean like there are COM objects, dependent dll's all stuff so what things I should ensure are in place for smooth migration.
Microsoft provides ACT tool for Application Compatibility test how much will that support? or are there any other better proven tools for the same purpose?
any insight/help would be appreciative.
Thanks.
First thing to assess is "what works and what doesn't work". There's a high chance that many of these apps will just work. That's the first thing to go do. Start by coming up with some test criteria by which the program is expected to work. Then deploy to the new OS.
One problematic area might be that these executable program require an older version of .NET or the MSVCRT DLLs that might not be on the box by default. The MSVCRT redist is easily available from Micrsoft's web site. You can install older versions of .NET from Control Panel->Programs and Features->"Turn Windows features on or off". Look for the ".NET" checkboxes near the top.
For classic ASP applications, same thing in the "Turn Windows features on or off". Look at "World Wide Web Services" node and make sure ASP (and most all of those other features) is selected.
Microsoft provides ACT tool for Application Compatibility test how much will that support? or are there any other better proven tools for the same purpose?
In my experience with automation tools, especially when working with older sets of technology (like classic asp)they rarely work near as well as advertised.
Related
This question's answers are a community effort. Edit existing answers to improve this post. It is not currently accepting new answers or interactions.
For a developer with a Java background, I am interested in exploring software development using the ASP.NET tools/platform as well.
Java web applications (.jsp and servlets) can run on many server platforms.
Question: Will a .NET web application be able to run in a Linux based server? Considering the scenario of not being able to use a Windows server for hosting a web app.
So I know this is an older question but I think it could stand an updated answer.
Microsoft has officially released asp.net vnext and its open source and deploy-able to both Linux and Mac. Its all still pretty new but does rely on the latest builds of mono and thus currently needs you to compile the mono-framework but in time I suspect that it will be easier to access as various linux distros release updated versions of mono. This is a how to setup guide
This information may be somewhat volatile and with updates is due to change.
Update ASP.NET CORE 11/10/2017
asp.net vnext is now known as asp.net core.
asp.net core is being treated as a high priority in Microsoft due in part to its use with microservice architecture and docker and container technologies
It has become much more compatible with existing .net libraries due to .net standard 2.0.
It performs well when compared to other technology stacks such as go and node.js
It depends what specific .NET technologies you're using. The Mono Project provides an Apache module (mod_mono) for running ASP.NET sites, and from what I gather it works well.
Mono doesn't support all the .NET APIs, though - notably WPF (and possibly WCF too, I can't remember) - but it does provide good support for much else of the framework.
If you're starting from scratch and particularly want to target non-Windows servers, then ensuring your project works with Mono would be a good goal to aim for. However, if you need particular APIs or language features that are not supported by Mono, then you will need to use a Windows server for deployment. It's a design-time/architectural choice that should make up front.
You might want to consider this guide that helps Windows developers port their code to Mono/Linux:
Guide: Porting ASP.NET Applications - Mono
I can speak from experience. Even if your ASP.net website only uses .NET libraries supported by Mono you are going to have a hard time getting it to run if its anything beyond Hello World.
You won't have to re-write much code but you will spend hours/days/weeks dealing with little issues with mod_mono/xsp/apache configuration and file permissions and error handling and all the little things that go into a large website. (Be prepared to spend a lot of time asking questions on serverfault :) )
The problem is that a lot of people don't use Mono for ASP.net websites and so there aren't as many people reporting bugs so a lot of things that are minor bugs go un-fixed for a long time.
Now you can publish ASP.NET 5 app to Docker on Linux with Visual Studio. See the below post from Scott Haselman
http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
Since the technologies evolve and this question is top ranked in google, we need to include beyond the mono the new asp.net core, which is a complete rewrite of the asp.net to run for production in Linux and Windows and for development for Linux, Windows and Mac:
You can develop and run your ASP.NET Core apps cross-platform on
Windows, Mac and Linux. ASP.NET Core is open source at GitHub.
Yes we can. get familiar with Mono Project and read this article to get started.
For ASP.NET on Linux, check out Mono.
That said, thousands of sites run on Windows Server without any issues. A poorly-configured server with any OS will be vulnerable; Linux won't save you from a poor admin.
So I guess my "best practice" for deplying an ASP.NET app would be to use Windows Server 2008 (likely Web edition). And hire a good administrator.
You can use Mono to run ASP.NET applications on Apache/Linux, however it has a limited subset of what you can do under Windows. As for "they" saying Windows is more vulnerable to attack - it's not true. IIS has had less security problems over the last couple of years that Apache, but in either case it's all down to the administration of the boxes - both OSes can be easily secured. These days the attack points are not the OS or web server software, but the applications themselves.
dotnet is the official home of .NET on GitHub. It's a great starting point to find many .NET OSS projects from Microsoft and the community, including many that are part of the .NET Foundation.
This may be a great start to support Linux.
Now a days .Net is run in multiple platforms,like linux ,Mac os etc.
but mono is not fully platform independent ,Because to deploy .NET in another OS required
third party software.so it is not like java platform independent.
Mono is running in different platform ,because of JIT is there in different os.
Mono is not fully success in moonlight(silver light in .NET) .Not only Research is going on.
Mono uses XSP2 server or apache . some of the big companies are using this project,Some of the robotic project are also running on mono.
For more details http://www.mono-project.com/Main_Page.
There is the Mono Project from Novell that will allow you to run ASP.Net on Apache.
http://www.mono-project.com/Main_Page
The Mono project is your best option. However, it has a lot of pitfalls (like incomplete API support in some areas), and it's legally gray (people like Richard Stallman have derided the use of Mono because of the possibility of Microsoft coming down on Mono by using its patent rights, but that's another story).
Anyway, Apache supports .NET/Mono through a module, but the last time I checked the version supplied with Debian, it gave Perl language support only; I can't say if it's changed since, perhaps someone else can correct me there.
I am wondering if it is better to develop .Net 2010 web application on XP as compare to Vista? I have developed many .Net applications on XP without any problem and personaly like XP over vista. Now i have started a new job and we are all mainly using Vista Ultimate 32 bit.
Are there any known issues with vista for VS2010 development?
Application will be published on Window Server 2003 or 2008 so my main concern is developing and running application localy.
Also, is Visual Source Safe 6.0 Compatiable with Vista?
You'll have some difficulty since XP is only 32 bit (unless you've got the 64-bit edition which is a little flakey re: drivers).
Also, certain features like XNA Game Studio, Windows Phone 7 development, DirectX 11, etc... just aren't supported on an XP development environment.
You may also hit issues with regards to integrating with the Azure cloud platform as it has some dependencies that don't work fully on XP.
That said, if you're only going for a simple Winforms/Console app/ASP.Net site, you probably won't ever notice the difference
Oh and .Net 4.5 isn't supported on XP
As an aside, please DO NOT USE visual source safe - it's truly awful. It doesn't guarantee consistency, has no concept of branching and merging, doesn't allow multiple users to work on the same files and is generally unreliable (not to mention the fact that it relies on every client playing nicely and a single malicious user can drop the entire data store since it's really just a windows share with some files, not an actual server). See this article: Visual SourceSafe Version Control: Unsafe at any Speed? for more details.
You should use TFS or an open source alternative (I've also played with SVN and used AnkhSVN to integrate into VS - Not perfect but pretty good). If you want to use TFS but don't have the servers/experience to set up a server yourself, There's a (currently free) beta being run by microsoft at tfspreview.com which integrates right into VS 2010 SP1 and later and provides all the same functionality as well as a whole slew of other features like bug/workitem tracking, analytics, etc...
what is the stack for a asp.net Web forms application?and why?
example for ASP.NET MVC there is an example:
http://codeclimber.net.nz/archive/2009/10/15/my-asp.net-mvc-stack-and-why-i-chosen-it.aspx
thanks
To be perfectly honest, this depends a lot on the specific project you plan to build with WebForms. Since I'm newer to MVC, I do just about all of my .NET development with WebForms. So here's the "stack" (framework + tools + components) that I use when building an application:
Framework
Obviously, ASP.NET WebForms. I make sure to keep all of my different layers (presentation layer - aspx webform, business logic - aspx.vb/aspx.cs codebehind, data access layer - additional classes) separate while I'm building.
Tools
Visual Studio 2010 - I dare you to find a better tool for developing a .NET-based web application.
SQL Management Studio Express - Fantastic tool for managing your database setup
TortoiseSVN - Subversion tool that integrates directly into Windows' contextual file menus. It's great for quickly committing/reverting projects!
BugTracker.NET - Great bug tracking tool that integrates with TortoiseSVN.
Libraries
jQuery - I use this for everything
jQuery UI - Great for adding "squishy" user interface elements and building out more interactive web forms
Flexigrid - I use this for building datagrid elements on my sites. Since it's built with jQuery, it interfaces nicely and handles AJAX data loads remarkably well.
YUI - Another JavaScript library that's great for animations and transitions.
Testing
Visual Studio Debugger - fantastic for stepping through server-side code to make sure things are working
Firebug - Firefox extension - Absolutely essential for debugging client-side scripts and for identifying HTML/CSS errors
IETester - Useful for anyone supporting commercial clients (who might still be using IE6)
For deployment, I use a set of custom tools that create unique filenames for frequently changed files that will need to bypass a user's cache when they're changed - i.e. whenever a CSS or JS file is updated or I change an image, I'll append a unique string to the end of the filename so the browser re-fetches the file.
The stack we have where I work:
Visual Studio 2008 / SQL Server Management Studio Express 2005
Resharper - for helping with coding standards and practices
Subversion - for source control (Formerly had SourceSafe which I had used for years but Subversion is much much better IMO)
Cruise Control .Net - for continuous integration
nUnit/nAnt - for unit tests and automated builds
IIS 5.1 - The downside of still being on XP is that we have these old tools at times.
IIS Admin .Net 1.1 - For helping have multiple sites on one machine.
WatiN - for web-based tests when needed.
In terms of coding add-ons:
jQuery
Sitecore (This is our CMS and is huge in some ways)
Browsers, just to note the big ones here:
IE
Firefox
Chrome
Safari
Tools:
Dev environment -
Visual Studio 2010 Professional - quite an obvious choice given that the latest tool is a big improvement over 2008 edition, especially in terms of performance. There are a few quirks still (waiting for SP1!) but it is mostly a pleasant and productive experience.
SQL Management Studio Express - for DB management
Source control and Project Management - Team Foundation Server 2010 - really going all out with MS here, leveraging our Bizspark membership, TFS 2010 has cool new features including branching/merging, shelfing (vs checking in) and much better transactional integrity than VSS. Also the project management tools are pretty good - there are various templates you can choose depending on whether you want to go Agile, or traditional.
Mantis - for bug tracking, but we are phasing this out and trying to move to TFS. Figuring out how to migrate existing data though.
Libraries:
Asp.net Ajax - pretty cool for what we need, simple ajax effects are quite easy to achieve.
Testing:
MS Test - in built in Visual studio, much better than previous releases - Unit testing support is far better.
Debugging:
Visual Studio Debugger
IE Developer tools
Is there a way to test an application where you simulate a hundred different clients connecting to a IIS server and asking the same data? At the customer where our project is running they have 400 computers and they often do stress tests with all computers. I on the other hand have only got my laptop... (and a development server).
(In my case the data is asked through a WebORB Gateway).
HP (formerly Mercury) LoadRunner or Performance Center
Visual Studio Application Center Test (Enterprise Editions only?)
Microsoft Web Application Stress Tool (aka WAST, aka "Homer"; predecessor to Application Center Test)
RadView WebLoad
ab is a tool that was designed for Apache, but you can use it with IIS.
After surveying a lot of open source and paid tools, I found the most success with Microsoft's Visual Studio 2008 Team Suite Test Edition (soon to be part of Visual Studio 2010 Ultimate). It has strong stress testing functionality. Microsoft's free application for stress-testing, WCAT is underpowered and buggy, but the full blown Test Edition goes up against products like LoadRunner but is easier to use, better-integrated with VS/ASP.NET and for much less money per virtual user.
Have a look at StresStimulus.
It integrates very well with Fiddler. The setup and usage is very smooth and it provides a lot of functionality and configuration. My best found when googling for a Web Load Test solution. Fiddler btw is a great tool.
Microsoft has a solution that comes with Visual Studio 2013 Ultimate Edition
see the links below :
Updated Link : Stress Test
Trty this tool , i've tested my website seems to work well > x0Bench
I'm coming from the open source world, and interested in giving ASP.NET a spin. But I'm having a little trouble separating the tools from the platform itself in regards to the licensing. I've downloaded Visual Web Developer 2008 Express, but not sure how different this is from one of the full-featured Visual Studio licenses -- and whether or not my Express license will prevent me from using all the features of ASP.NET.
Is a Visual Studio license just an IDE, or does it include pieces of .NET not available to the Express license? What about the other tools like IIS and SQL Server?
Thanks.
All of .net is available in the .net SDK, so in theory you will not need Visual Studio at all.
Now, there are some things that Express will not do. For example, the Database Designer is not very comprehensive and adding different remote databases is not or only very hardly possible. Still, in code you can connect to everything.
There is also no Remote Debugger, no support for creating Setup Files (well, that does not apply to ASP.net anyway), no real Publish Web Site Feature (although that can be added manually as it's just a Frontend for a SDK tool), no integrated Unit testing (and Microsoft loves to threaten people who add it), etc.
For a full comparison, see here:
Visual Studio 2008 Editions
But as said: Functionality of .net is all in the SDK, Visual Studio is just making it a bit easier to work with.
Visual Studio is just an IDE, you can do all your .NET development with the SDK and notepad if you choose. In fact there is something to be said for learning it that way so you understand better how the pieces fit together!
Microsoft have a version comparison matrix available so you can see exactly what is included each version.
IIS is a Windows component and considered part of the OS, there is nothing else to buy.
SQL Server comes in many flavours, SQL EXpress is free to use and whilst limited compared to the versions you pay for, it is more than enough to get started with ASP.Net
Visual Studio is the IDE and does not include the platform.
IIS and SQL Server are separate products. IIS is available as part of the windows install and the version is different depending on what version of Windows you are using.
SQL Server also has an express product which is not as full featured as the Full versions of SQL Server, yet it is still rather valuable and useful especially for learning purposes.
You can learn a lot from the free tutorials found on asp.net.
Visual Studio is just the IDE. You could theoretically create every file in Notepad and compile manually with just the .net framework.
IIS is an operating system feature, and SQL Server has different flavors with different capabilites.
SharpDevelop is a Open Source IDE for C# and VB.net