Leading the transition from classic ASP to ASP.NET, any advice?

So, I just started working in a new company, where 99% of the code is written in classic ASP (most of them are poorly written), and part of the reasons they hired me was that I worked with ASP and ASP.NET to the past. The ASP.NET experience was VB.NET, but I worked with C # in college, but I prefer it only because in the past I worked a lot with PHP, and when I don't focus, I just start typing C syntax and there were many cases here in ASP, where I end the lines in a semi-column just out of habit and have to go back and delete it.

But I'm distracted, basically I just don’t have the knowledge necessary to make the best decisions about the things that took notes on some key processes that I would like to advise:

  • Version control - true, I said I never used it. On my own, I simply never had the moment scream to force me to use it, and the shops in which I worked always just threw caution into the wind. I would like to know that you all think that I should use server side and
  • Local virus protection environment . It’s possible that I’ll just do Google quickly, but I want to set up a local environment for developers so that I can test the material without first having FTP somewhere.
  • Clicking Live Changes . I never understood the step between checking something in version control and watching it live, is there some kind of automatic system that can go "hey, I see, let me see what is different from this and the live version and click on affected files "- perhaps just a lack of understanding of vc all together :(
  • IDE - Download VS2010 Beta 10 now, hoping it is stable
  • MVC.NET - Easy to Pick ? I always hated the whole concept of web forms, it seemed that it did not end up matching the Internet, which the rest of the world is developing.
  • Anything Else . As I said, I am relatively new to this stack, so I would like for any advice that I can get at an early stage to avoid any “crap”, I wish I knew 3 months ago “moments”

EDIT: Take advice and make this community wiki

+4
source share
5 answers

Wow. here are a lot of questions:

Version control . Take a look at Subversion and Git. They represent two types of version control, you may like one different than the other. Git is free for open source projects.

Local Dev Environment . I would recommend using the embedded web server in Visual Studio. You can right-click on a page in your solution browser and say “view in browser”. Then it just compiles it right there and opens an instance of the local web server.

Clicking Live Changes . I am not going to give advice here. Someone smarter than me will certainly do it.

IDE Yes, just stick with the current version of Visual Studio. If you do not have active (for payment) projects, I think that VS2010 is a good idea, because it supports the latest upcoming asp.net functions, and by the time you recognize them, it will probably be released to the public in any case.

Anything Else . It’s worth (from the point of view of work) to know WebForms. But I highly recommend exploring ASp.Net MVC (if not for any other reason, “it's more interesting”).

After reading Mark Redman's answer, it caused something for me. I would recommend (like him) that you are researching some kind of ORM . I use SubSonic and really love it. There are many options.

This is my 2 cents.

+2
source

Version Control:

Definitely take a look at SubVersion, for free, we use a paid service site called Assembla (www.assembla.com), but you can install the server on your network. The most popular client is called TortoiseSVN ( http://tortoisesvn.tigris.org/ ), it is also free. You can also take a look at VisualSVN ( http://www.visualsvn.com/ ), which are integrated into the VS IDE; their site also has a convenient SVN server setup.

Local development environment

The local IIS or VS built-in VS server in VS is both good, it really is, I think. Opening a website (file system based) rather than IIS based seems to work well for us.

Clicking Live Changes

ASP is highly developed by pages and does not require compilation, copying files to a test or production site is quite simple. Depending on how you compile / publish your asp.net site, you may need to consider how you compile the library code and publish the web application / website.

I would recommend starting with using SVN to commit changes and to update test / production sites.

IDE:

I would recommend updating the latest version of VS2010 and using it.

Anything else:

Consider deployment, do you replace everything before you start living?

Consider using an existing structure, using ORM or a Business Objects infrastructure, possibly even using Code-Generation. Take a look at CodeSmith, it has various related ORM / Business Object Framework. (they will use various technologies and technologies in the .net infrastructure that you will need to learn)

Take a look at the basic structure of the site:

Consider asp.net WebForms (applications) or MVC (websites) [yes, this is a very simple difference analysis]

Site Membership and Permissions: Look at MembershipProvider, RoleProvider and create your own.

File System: Consider how and where you will upload files.

Divide the user interface into reusable UserControls.

Hhh, good luck you have a lot to do ...

+2
source

I am going to focus on versioning and tracking projects here. The ASP.Net development environment is well documented.

  • Version control. I use SVN (version control) with Tortoise SVN (integration with the Windows client) and Trac (project tracking). SVN and Trac run on Apache (web server).
  • Pushing changes in real time. Commit your changes to SVN from your development computer, update the SVN on your test site to pull the latest changes from the repository, run the tests, and then update the SVN on your production site.
  • Anything else - in this scheme, Apache, Subversion and Trac will run on a server that is not your development machine and hopefully (but not necessarily) also not the same server that your IIS runs on.

Check out: Apache HTTP server: http://httpd.apache.org/ Subversion: http://subversion.apache.org/ Tortoise SVN: http://tortoisesvn.tigris.org/ Trac: http: // trac. edgewall.org/

+2
source

One thing to keep in mind mainly goes from classic ASP to ASP.NET in much the same way as moving from COBOL to ASP.NET. Everything should basically be a complete rewrite (especially since you said that there are bad development methods in the source code base)

Version control: Definitely use it, also Team Foundation Server, which, if you can convince the company of the cost of buying your MSDN subscription, TFS is included at no additional cost to 5 or less users.

Pushing changes in real time: I am currently using web deployment projects (not sure if they are compatible with VS2010), TFS is also a build server. I just did not manage to establish responsibility for what. If you take full advantage of TFS, I also recommend exploring the Continuous Integration (CI) tool, something like Jetbrains TeamCity or CruiseControl strings, etc.

Local Dev Enviroment : Get Jetbrains Resharper ! This is the most important tool for developing software in .NET for the second time only for Visual Studio itself!

Anything else: Explore the lambdas / expression generators and trees, which are an integral part of proper .NET software development, and both relate to extremely complex topics (IMOs).

+1
source

Version control . I see a lot of SVN recommendations here, but ... it's just out of date. Use GIT or Mercurial. They combine algorithms with more reliable ones. Faster and safer because they are distributed. They are more flexible - you can create a workflow model that suits your company well, while there is basically one way to use SVN.

Pushing changes in real time . Once you have version control, the next task is to create a Continuous Integration server that re-checks the repository and performs an automatic build. You can get immediate information about who made the mistake and where. You can make this assembly anyone you want: perform static code analysis, unit tests, deployment. You can make several assemblies - one, automatic, that creates the project and deploys it in a test environment. And one more, launched manually, which will be used for life. I worked with Hudson, Jenkins, CruiseControl.NET, TeamCity, and I found TeamCity to be the most convenient tool for these four.

The local dev env : Althoug IIS Express (this built-in Visual Studio) is fine in many cases, you should know where it differs from the "real" one. I would just recommend using full IIS 7.

IDE : Visual Studio + Resharper + Notepad ++ + LINQPad.

Anything else : You have bug tracking / bug planning software. Even as simple as http://www.trello.com , but use it. My favorite is http://www.pivotaltracker.com

Introduce code review into your workflow. http://www.reviewboard.org can help.

0
source

Source: https://habr.com/ru/post/1299975/


All Articles