When designing a WEB site, its content needs to be linked to a hosting service. This means that images, videos, texts, and other data will occupy virtual space on servers with an internet connection so that they can be accessed remotely.
Website hosting services are divided into six categories:
Virtual server (VPS)
In general, when it comes to hosting the site, three factors need to be considered. One of them is the space to occupy. This will influence the processing speed and the hardware used. In relation to the latter, the only category in which it is provided by the contractor is co-location. The rest is the responsibility of the server's data center.
Hosting sites on Windows
There are two platforms for those who want to host a website, Windows and Linux. It is in Windows that ASP, or ASP.Net, is used, as it is said today. Although it is called a language, ASP represents a type of information structuring as a library, which “translates” to browsers the different types of commands sent to servers, which pass them on to the client, through the browser.
The information processed by the servers generally employs publishing via FTP, which works just like an email, when attaching files. SSH and FrontPage are alternatives to this way of publishing.
ASP hosting, therefore, must be understood as a language intended for the server, which acts as a "translator" for the different browsers of the clients (the common people who access the web daily). The browser receives data from the server already executed and in HTML format.
Among the advantages of ASP, it is in its property of being able to be used in the system of shared hosting, which is the most used for its cost-benefit relatively advantageous in relation to other forms of hosting. In this modality, a server manages information from dozens to hundreds of sites. This can reduce the time spent in the air, that is, at certain times a given website may not be found and system instability.
Today, the systems already allow you to host in a shared way without problems and even less need for maintenance demanded by a greater number of customers and almost nonexistent on unique and exclusive servers.
ASP.NET Core: news and integration with .NET Core
ASP.NET Core: If you are just starting out in the programming and application building realm, you may have just heard about what it is. To begin, it is necessary to remember that this structure is open source, multiplatform and high performance. This means that it is made by the community, together with Microsoft, and is available for public use.
You can accomplish many things with ASP.NET Core, here are some of them:
Store applications and Web services, IoT and mobile backends;
Use multi-platform development tools (Windows, macOS, and Linux);
Run on .NET Core or .NET Framework.
Advantages of ASP.NET Core
There are still doubts as to why we use ASP.NET Core. Many developers continue to use ASP.NET 4.x, but, they do not always know that ASP.NET Core is an evolution of this with changes that bring a leaner and more modular structure. This update brings benefits that can be seen below:
Ability to develop and run on Windows, macOS, and Linux;
Integration of modern structures and development workflows;
Configuration system prepared for upload to the cloud;
Accommodation capacity for Kestrel; IIS; HTTP.sys; Nginx; Apache and Docker.
Developers who work only with jobs targeted for use on the Windows platform can work with the .NET Framework, which is not multi-platform, unlike ASP.NET Core 2.x, which is composed of .NET Standard libraries. These libraries can be run on any platform that implements .NET Standard 2.0, allowing the programmer to work with different platforms while still using the ASP.NET framework.
With ASP.NET Core 3.0, it will be possible to run only on .NET Core, that is, on what allows cross-platform work. There are numerous advantages to directing work to the .NET Core. Some are:
There is intense work by Microsoft and the programming community to reduce the gap between the .NET Framework and the .NET Core., But the possibility of multi-platform must be taken into account since the growth of other operating systems does not stop.
ASP.NET programming: what is it?
The ASP.NET programming can be considered a revolutionary version of ASP, being used for building web applications, especially for Web Services, and indispensable to develop various types of Microsoft .NET applications. Excellent programming technology!
ASP.NET programming serves to make the life of the programmer much simpler in the work of developing web applications, including to control events, with the inclusion of control for forms, with some items linked to the control buttons. Thus, ASP.NET programming is more simplified for the programmer to place the codes to click on a button or change a component of a list, for example.
The exchange (sending and receiving) of data in XML is also simplified with ASP.NET programming, for SOAP, HTTP protocol, and with hosting on Microsoft IIS. That is, it is a language adapted for Web Services.
What are the main differentiators of ASP.NET programming?
ASP.NET programming presents some important aspects that deserve to be highlighted, among which are the following:
support for other languages;
ease to build the presentation layer.
Compilation and object orientation in ASP.NET programming
The framework checks whether the page has been compiled whenever it is requested. If it has not been compiled by then, it will be compiled only once. In new requests, it will not be necessary to do another compilation; with that, the execution becomes much more agile.
In object-orientation, ASP.NET programming supports the use of support languages to write code, in OO languages, which are supported by framework.net.
ASP.NET programming controls and components
ASP.NET programming is also differentiated in controls and components. Among the components that facilitate the work of the programmer are:
among other components.
Many of these more complex controls are found only in ASP.NET. Thus, the programmer does not waste time writing code for functions that are already ready.
The ASP.NET application is done in XML. If the programmer makes some changes to the file, there is no need to recompile, as the framework identifies the new structures and makes the application again.
ASP.NET programming environment
Anyone who has programmed in VB - Visual Basic will find it even easier with ASP.NET. To program, the user will have to choose a Code In Page programming environment, such as Visual Studio.NET, one of the most complete.
Shall we start programming?
The first step before writing the first lines of code is to use a PC with a Microsoft operating system. Make sure that Internet Information Services is installed and configured. The application development and hosting machine needs a framework. Without the tool, the application will not run as expected.
Your development tool, as stated above, can be Visual Studio.NET. For an experienced programmer, NotePad is enough. An intermediate option is WebMatrix.
Applications can also be written with compatible languages, as is the case with VB.NET and C#. This is a great advantage since many programmers are used in some languages.
In the code, the programmer can already indicate the chosen language. In addition to Code in Page to program in ASP.NET, the user can choose Code Behind. In this second case, the C # and HTML code are completely separate.
All aspx files will have a C Sharp equivalent, for example, if the chosen language is C #. HTML code and ASP.NET components are declared in aspx only.
With these guidelines, it is already possible to start your work with ASP.NET programming, an innovative technology that has made the programmer's life much easier and more practical!
ASP.NET programming: what are the advantages?
ASP.NET programming is intended for Web Services, a technology for ASP programming that is considered revolutionary, being used in numerous .NET applications.
There are several advantages to using ASP.NET programming, from the point of view of those who are developing a program and, literally, writing the code. Ideal and being the preferred programming of the developers of WEB applications, ASP.NET is more usual for the programmer and with several simplifications and facilities, among which are the following:
Possibility to control events;
Facility to include forms;
Control buttons can be included in items;
It allows data exchange in XML in a simplified way.
The data is sent using known protocols, such as HTTP and SOAP. As it is a code that has been adapted to run perfectly in WEN applications, ASP.NET is suitable for hosting on Microsoft IIS.
There are several advantages that highlight ASP.NET programming when it comes to the compilation, object orientation, components, state management, support for other languages, and construction of the presentation layer.
ASP.NET error handling
One of the transformations of ASP.NET is in error handling, which can now be identified through all errors on a page through Try Catch Finally. Therefore, the developer does not waste a lot of time trying to find the error and identify the problem with the code.
Declaration of variables
The programmer needs to declare all variables in ASP.NET, so all variables must have content defined. If necessary, whoever is writing the code can use the function to convert the data, this is one of the advantages of ASP.NET.
Focus development on a few tools
One more advantage of ASP.NET programming is being able to use only Visual Studio.NET or Web Matrix, which concentrate all the necessary resources for the job, unlike ASP, which required a greater knowledge of the programmer in relation to other languages, such as VBScript or HTML itself. With ASP.NET, the programmer does not need to look for resources in different tools.
More controls for creating pages
For database, Web Service, and page creation, there are several ASP.NET control resources, among which are Repeater, DataGrid, Validator, Calendar, and DataList. These new control features reduce the number of lines to program and the code is much smaller, even for jobs done with dates and data validity.
A quick compilation of pages in ASP.NET
The compilation of ASP.NET pages takes place in a DLL. Therefore, the speed is much greater, it gets to be 25% more agile than the old ASP. This index makes an even bigger difference when it comes to simultaneous applications with Scripts, with processing that requires high performance.
To work with Scripts in ASP.NET several languages are indicated, such as C ++, C #, and Visual Basic.NET.
Easy to debug errors in ASP.NET
In ASP.NET it is much easier to debug errors. As soon as the code problem is found, there is a temporary pause for you to see if there are any problems with the variables.
In ASP.NET, you end up defining in your code what the breakpoints are. The programmer also determines the page's execution in the browser. All errors are easier to identify, and this will not be a problem for you.
Did you like the differences and advantages that ASP.NET programming has over ASP? There are also other differentials that you will only know in practice, as soon as you migrate the database and start working with new features for Web Services.
The future of .NET in 2020: a guide for developers (justifiably) clueless
Leaving .NET marketing/communication in the hands of its own developers is a mistake. It was amply demonstrated when they began to prepare what would later become .NET Core. They announced it more than 2 years in advance, but it seemed that it was going to be imminent, and they also initially baptized it as .NET 5, which implied that it was simply a new version of .NET 4.x, called to replace it, when in fact it was a separate framework, multiplatform, open-source and conceptually very different, although similar in form.
In the middle they made more nomenclature changes (for example, the first attempt with .NET Core, it was .NET Core 5 and to make matters worse ASP.NET was ASP.NET 5, without Core or anything until they changed it again, buff), they gave confusing information and they took many programmers to other platforms. Worst of all, the "insiders" repeated that they were making a mistake and they ignored us. Finally, they fell off the ass and gave it a different name: .NET Core, which clarified the important thing very well: that it was a different platform and not a new version of the previous one. In the middle, we had to do a lot of informational work (and that's just the last of many) to clarify all this.
The fact is that this year, in May, they decided to mess it up again. They announced that they were going to work on (drum roll) .NET 5! Again back to confusion. What is sought with .NET 5 is that all the platforms that Microsoft has (.NET Core, .NET framework "classic", Xamarin) are unified into one, simplifying several things.
To understand us, .NET 5 will actually be the next version of .NET Core, what happens is that they remove the "Core" from the name and skip version 4.0 to go directly to 5.0. In addition, they put under the same roof technologies that were previously only in traditional .NET since by then they hope to have migrated all the traditional APIs (from Microsoft, of course) to .NET Core, and if they have not migrated them, it is because they are obsolete, or because there is a different, more modern API that successfully replaces it.
The main idea that is pursued is to improve the current mess with .NET obtaining:
A single, unified .NET platform and a single .NET runtime that works the same on all systems and offers the same possibilities in all development environments, to create applications of all kinds: desktop, Web, mobile, Cloud, etc.
Expand the capabilities of .NET Core by also including the best of traditional .NET, Xamarin, and even Mono.
Have a single code base and not several separate ones as it happens now.
In theory, this is great since in .NET 5 all developments will share the same type of project files, the same runtime, the same language capabilities and will have access to the same APIs, regardless of the type of application you are building. And all this combined with the great capabilities that .NET Core offers today: cross-platform, much higher performance, less memory use, modularity to use only what you need, ease of execution side-by-side. It will also have interoperability simple with Java for all platforms, interoperability with Objective-C and Swift on various operating systems, and CoreFX (the heart of .NET Core) will add support for issues such as compilation ahead Of Time (static).
In reality, there are things that are being migrated (such as Windows Forms) that will only work on Windows because they depend on system APIs only present in this operating system. Other Xamarin issues will be tied to mobile operating systems.
All .NET 5 applications will use CoreFX below the .NET Core engine, with the extensions and changes that will be made to it in the coming months. What they are going to do to achieve this adds things to it to ensure that it works on the sites that it can't right now, basically mobile apps with Xamarin and WebAssembly-based web apps.
When .NET 5?
The release of .NET 5 is scheduled for November 2020. Surely there will be some betas at the end of the first semester of the year, but knowing the history of the development of .NET Core, it is possible that between the betas / RCs and the final version there will be a lot of changes.
What does all this mean in practice? What does it mean?
Well, it is difficult to give a categorical answer until the final version is released, but there are a few things that are clear as of today:
The future of .NET is .NET Core. It doesn't matter if they call it .NET 5: it is still .NET Core and everything you learn now will serve you later with this new version.
.NET 4.8 will be the last version of "classic" .NET to appear and the platform is left under "maintenance". It is a mature and very capable product and it is not going away. It will continue to be distributed with Windows (so you always have it there available) since the system itself depends on it and stability, security, and bug fixes will continue to be released. If you want development without surprises and tied to Windows, it is still perhaps the best option.
After releasing .NET Core 3 in September, no more features will be migrated from .NET Classic to .NET Core (or .NET 5). So if you want to use Web Forms with ASP.NET Core, bad luck (or switch to Blazor when it's ready, which looks a bit like an egg to a chestnut) If you want to migrate a WCF service to .NET Core, bad luck: use Web API or gRPC. If you have projects created with Workflow Foundation, better luck: there is an Open Source version of Workflow Foundation migrated to .NET Core, but not by Microsoft.
You don't have to (and shouldn't) migrate your current applications to .NET Core or .NET 5 when available. They will continue to be different platforms and direct migration is usually not a good idea.
On the other hand, and this is already a personal opinion, although one does not think that it is very wrong, to name it .NET 5 seems to be a serious error. It confuses those who do not know well what is happening and can lead them to think that it is a new version of .NET 4. and that what has stopped is .NET Core when it is just the opposite.
Okay, this is not 2016 and the confusion will be less than then, but would it have been so terrible to call it .NET Core 5 and set the record straight? Or even get a .NET Core 4 with some of the news and in a few months .NET Core 5 with everything they plan.
In any case, and this is what matters, the idea behind all this is good, we know that .NET Core is the future and that by learning now .NET Core we will regret betting on the platform neither short nor long term since .NET 5 will be just .NET Core with another name.
ASP.NET Web Form Features
ASP.NET has made it possible to develop applications using a GUI model by abstracting the knowledge of HTML, the mechanism of HTTP communication, the exchange of data between the browser and the server, etc. ing. As for page design, HTML can be written directly like the previous ASP, but page design by GUI can be done by using a development environment such as Visual Studio. In addition, event-driven programming is realized by using a mechanism called PostBack that uses the HTTP POST mechanism.
In addition to recognizing the browser and generating the optimum HTML, it compiles and caches only when there is a change compared to the one executed last time at the time of execution, so the processing speed is improved compared to ASP.
ASP can be called from SSI, but ASP.NET cannot.
In IIS, ASP.NET runs a file called aspnet_isapi.dll using ISAPI. Many ASP.NET behavioral settings make use of *.config files. Just put the precompiled or DLL or uncompiled files in the specified directory and it will work.
Many of the classes used in ASP.NET are defined in the following namespaces:
Languages available in ASP.NET
In Visual Studio, Visual Basic and C # are selected as the default language, but since it will eventually work with compiled assemblies, it will work with .NET- compatible languages such as C++/CLI and JScript.NET. If you have one, you can write it in various languages.
aspx file: General webform page
asax file: Building application-level logic and event handling
ascx file: Used when using the original user control on a web page
ashx file: Build your own HTTP handler
asmx file: Web service page construction
axd file: Files for application-level tracing
browser file: A file that stores the browser configuration that the website allows
config file: XML format file that describes the settings of the web application
cs/vb file: Source file before compilation. The former is written in C # language and the latter in Visual Basic language
master file: Master page file that sets a uniform design for the page
sitemap file: Sitemap configuration file
skin file: Building theme skins for web pages
resx file: Resource file for internationalization (globalization) and localization (localization) of files
App_Code: Directory to place source files such as * .cs and * .vb
App_LocalResources: Directory for placing individually separated regionalized files
App_GlobalResources: Directory for placing resources (*.resx ) to localize many pages
App_Themes: Directory where these files are placed
App_Browsers: The directory where the * .browser file is placed to place the browser definition according to the site specifications.
Bin: Directory used to place binary files used in ASP.NET
.NET Core for .NET Developers
We will analyze an MVC application. NET Core, speaking the language of a .NET developer. This means that everything you read here will be a comparison between the functionality of both technologies.
What will we do?
Let's create a new MVC project in .NET Core, called FSL.NetCoreBasics, and compare the main features with the .NET Framework, such as those listed below:
Views and HtmlHelpers
Controllers and Actions
Creation of the MVC project in ASP.NET Core
Creating an MVC project on the .NET Core using Visual Studio 2017 is virtually identical to the MVC on the .NET Framework. To do this, just choose ASP.NET Core Web Application on the first screen, and on the second screen, choose Web Application and you're done.
Structure of the project in ASP.NET Core
The first thing we see when creating an MVC web application in ASP.NET Core is the lack of the web. config file. And then, we find two new folders, one called wwwroot and the other Dependencies. Finally, we see a new file called appsettings.json.
The Dependencies folder in the .NET Core was easy to understand, it is the same logic as the References folder in the .NET Framework. In the www-root folder. But then, it was also easy, it contains the same types of files as the Content folder in the .NET Framework. So far so good.
Finally, click on the appsettings.json file, and because one is used .NET Framework, it has the same name as the AppSettings class, used for configuration in the web. config file.
The next step now is to compile the application and create the virtual directory in IIS. Let's go to the MVC project properties and go to the Web tab.
If you tried to find a web guide to configure IIS on the .NET Core! In the .NET Framework, we have a property tab called Web to create the virtual directory in IIS and other settings.
One of the news and main objectives of the .NET Core is to not need the dependency on IIS or the System. Web library. That's why we don't have a virtual directory in this case. It is possible to develop an effortless Web application that runs on Windows, Linux, and Mac.