Top 10 skills in ASP. NET Programming page 1/2

Source: Internet
Author: User

In this document, we will discuss how programmers use ASP. 10 tips that need to be paid attention to when developing applications. These skills involve changing the default control and form name to the use of StringBuilder class, which helps programmers adapt as soon as possible.. NET environment.

1. When using Visual Studio. NET, do not use the default name unless it is a direct or non-referenced object.

One of the benefits of. NET is that all source code and configuration files are plain text files and can be edited using any text editor such as Notepad or WordPad. If you do not want to, we do not have to use Visual Studio. NET as the integrated development environment. However, with Visual Studio. NET, we can see the file in Windows File Manager or browse the file content from a text editor outside Visual Studio. NET.
Using Visual Studio. NET as an integrated development environment has many advantages, of which the most significant advantage is that it greatly improves production efficiency. With Visual Studio. NET, we can develop software faster at a low cost. As part of the integrated development environment, intelliisense provides Automatic Code Completion, dynamic help when entering methods or functions, real-time syntax error prompts, and other functions that can improve production efficiency.
As with other complex tools, Visual Studio. NET also brings us a sense of frustration before learning how to give full play to its role and grasp its "habits. Sometimes, it is like a hard-to-understand black box, it will generate a large number of files and a lot of useless code.
One function of Visual Studio. NET is to provide a default name for a new object, whether it is an object in a class, control, or form. For example, if we create a new ASP. NET Web Application, the default name is WebApplication1. In the "new project" dialog box, we can easily change the name of the application, but only the name of the application's namespace and its virtual directory are changed, the default names of source code files are still WebForm1.aspx and WebForm1.aspx. cs (C # project) or WebForm1.aspx. vb (VB.. NET project ).

We can change the file names used by ASPX and code in the solution browser, but the webpage class name will still be WebForm1. If a button is generated on the Web form, the default name is button1. In fact, the names of all controls are composed of the control type and number.
We can also change the names of all forms and controls in the application to meaningful names. For a small demo program, the default name is also competent, but if the application consists of multiple forms, each form contains many buttons and labels, form names such as frmStartup, frmDataEntry, and frmReports are easier to understand and maintain than Form1, Form2, and Form3.
If the form control needs to be referenced elsewhere in the code, it is more important to have a meaningful name. The names such as btnOK, btnCancel, and btnPrint make it easier for code users to understand and maintain controls such as Button1, Button2, and Button3.
A good way to modify a name that appears in all files in a project is in Visual Studio. in the. NET menu, select "edit"> "discover and replace"> "replace.
When looking at the code we wrote two weeks ago, we often see the code for the first time, so it is necessary to make them have a name that helps us understand its meaning.


2. Even if you do not use Visual Studio. NET for programming, using code to support files can also improve application performance.

Visual Studio. NET uses code support files in all ASP. NET Web projects such as Web applications, Web Services, and Web controls. Code support files make the project better organized and coherent, and more suitable for development teams composed of multiple people. It also improves the performance.
The content of the Code support file is compiled into a class in the composite file, which is generally a DLL file and sometimes an EXE file. The file resides in the high-speed buffer of the application assembly, and can be obtained immediately when the application starts.
If the code is included in the <script> mark or the ASPX file code, it will still be compiled into a webpage class. In this case, every time the web page is loaded for the first time in the application conversation, it needs to be re-compiled, and the compiled class will reside in the memory. This file must be re-compiled whenever the computer is started, IIS is stopped, restarted, or the source code or configuration file is changed. Although not big, this causes considerable performance loss.


3. Minimize form delivery

Every time you click the Button, LinkButton, or ImageButton control on a Web page, the form is sent to the server. If the AutoPostBack attribute of the control is set to true, if the status of the control such as CheckBox and CheckBoxList is changed, the form will be sent back to the server.
Each time a form is sent back to the server, it is reloaded, The Page_Load event is started, and all code in the Page_Load event processing program is executed. It is most appropriate to put the webpage initialization code here. We often want to execute some code each time a webpage is loaded, but we want to execute other code only when the webpage is loaded for the first time, I even want some code to be executed each time except for the first loading.
You can use the IsPostBack feature to complete this function. When a webpage is loaded for the first time, the value of this attribute is false. If the webpage is reloaded due to sending back, the value of the IsPostBack attribute is set to true. Through testing, you can execute the Specified Code at any time. The following is the relevant C # code:
Protected void Page_Load (Object sender, EventArgs e)
{
// Operations performed each time a webpage is loaded
If (! IsPostBack)
{
// The operation performed when the page is loaded for the first time
}
Else
{
// The operation performed during the delivery.
}

// Operations performed when a webpage is loaded
}
We hope to avoid sending back as much as possible (the server is required to perform a series of operations each time), even if it causes sending back. We also hope to perform as few operations as possible. Large-scale and time-wasting operations (such as database searches) should be avoided in particular because they can prolong the application response time.


4. Use the StringBuilder class

The string is immutable In the. NET Framework, which means that the operators and methods for changing the string will return the modified copy of the string, which means there is still room for improvement in performance. When performing a large number of string operations, using the StringBuilder class is a good choice.
The following C # code tests the time required to generate a string from the 10000 substring in two ways. A simple String concatenation operation was used for the first time, and the StringBuilder class was used for the second time. To view the result string, remove the annotation symbol of the annotation line in the following code:

<% @ Page Language = "C #" %>

<Script runat = "server">
Void Page_Load (Object Source, EventArgs E)
{
Int intLimit = 10000;
DateTime startTime;
DateTime endTime;
TimeSpan elapsedTime;
String strSub;
String strWhole = "";

// First perform the string connection operation
StartTime = DateTime. Now;
For (int I = 0; I <intLimit; I ++)
{
StrSub = I. ToString ();
StrWhole = strWhole + "" + strSub;
}
EndTime = DateTime. Now;
ElapsedTime = endTime-startTime;
LblConcat. Text = elapsedTime. ToString ();
// LblConcatString. Text = strWhole;

// Use the stringBuilder class for the same operation
StartTime = DateTime. Now;
StringBuilder sb = new StringBuilder ();
For (int I = 0; I <intLimit; I ++)
{
StrSub = I. ToString ();
Sb. Append ("");
Sb. Append (strSub );
}
EndTime = DateTime. Now;
ElapsedTime = endTime-startTime;
LblBuild. Text = elapsedTime. ToString ();
// LblBuildString. Text = sb. ToString ();
}

</Script>

<Html>
<Body>
<Form runat = "server">

<H1> String Concatenation Benchmark
Concatenation:
<Asp: Label
Id = "lblConcat"
Runat = "server"/>

<Br/>

<Asp: Label
Id = "lblConcatString"
Runat = "server"/>

<Br/>
<Br/>

StringBuilder:
<Asp: Label
Id = "lblBuild"
Runat = "server"/>

<Br/>

<Asp: Label
Id = "lblBuildString"
Runat = "server"/>

</Form>
</Body>
</Html>
The difference between the two methods is quite large: The Append method using the StringBuilder class is nearly 200 times faster than the string connection. The comparison result is as follows:
(Figure: picture01)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.