Have you abandoned ASP. NET today? Question

Source: Internet
Author: User

A Public Grievance

--------------------------------------

I have been using ASP. Net for several years and have been patient and patient. Finally, I can't bear it. The problems created by ASP. NET are much more advantageous than those brought about!

 

1. viewstate and other issues will not be mentioned. For the sake of persistent client status, a general architecture is used, and different treatment cannot be performed. The result is a great deal that overwhelmed all other advantages. I was wondering, why does Ms fail to determine what web control is applied to my method, and then smart persistence?

Introduction to the PostBack of ASP. NET in http://www.cnblogs.com/artech/archive/2007/04/06/702658.html

 

2. What makes me the most intolerable is that in ASP. NET, functions such as "query reference" and "Reconstruction" of vs become slow. I just want to see what a method of this DLL isCodeReference. Once the project has a website project, the whole process becomes slow. The reason is: Asp.net's boring codebehind uses the dynamic compilation technology to automatically create webcontrol code objects when generating DLL Based on the Web Control of the page, this causes vs to slow down when constructing a reference index.

reference: http://www.cnblogs.com/artech/archive/2007/05/21/753620.html in-depth analysis of ASP. one of the net compilation principles: dynamic compilation

 

3. What makes me super unacceptable is Version Control in ASP. NET. Every time I debug a project, the compiler will say, "The referenced version is not the latest version, and debugging may be inaccurate ..." And so on. For example:

Bbbbb. dll references AAAAA. dll <1.0.0.0>

CCCCC. dll references AAAAA. dll <2.0.0.0>

The website has referencedAAAAA. dll<3.0.0.0> bbbbb. dll, CCCCC. dll

At this time, if you want to debug the website, add the AAAAA project and want to enterAaaaa ProjectAn error is reported because bbbbb/CCCCC still references the old version number. When the project is very large, it is impossible for me to compile all the DLL files referenced by all the websites once. When I debug a project on a DLL, it will crash.

 

4. I have not yet seen the strong advantages of Asp.net Ajax. I just feel that after Ajax is used, the whole website is very slow. Because coolite is used as the client framework, it takes half a day to load a gridview, but the traditional HTML (don't laugh at me) and simple aspx do not have this problem. This shows that it is neither a server nor a core mechanism of aspx, that is, Ajax + webcontrol +HugeJS library.

 

5. If you add another charge, it is the latest Oracle padding attack. I don't know why. I just found out why there are always resource. axd request errors and many illegal requests in the previous logs. I thought it was a server response problem. Later I found that someone was under attack.

 

6. then, Asp. NET 2.0 compiled a project folder into a random string DLL, such as appcode_xsdfasdf.dll ...... I crashed !!! Deploy a project with dozens of DLL files, which are different each time. Let me manually clear the old DLL and deploy it by time. I thought it was helpful. I had to install a plug-in and return to the 1.0 packaging age.

 

7. In ASP. NET 2.0, everything was handed over to the httpcontext giant. What is the result? Unable to test the driver or unit test. Although we have reconstructed more than 3.0 in the later stage and provided some interfaces, this failure still exists.

 

Microsoft's C # is good, maybe because Java is good, so Microsoft has a direction to copy it. As for ASP. NET, I am speechless. As a result, Microsoft developed an ASP. net mvc and made a new version.

So what is the end of ASP. NET that I have approved? What are the ideas worth learning for Ms's big bull architects?

 

Thoroughly disintegrate the core of ASP. NET to find the most valuable ideas

--------------------------------------------------

I am going to use a very short paragraph to describe the idea of ASP. NET (non-rigorous mode, if incorrect, please note ).

 

B/S is a standard request response model. The client sends "hello" and the server returns "world ". ASP. NET implements a series of encapsulation Modeling under this model to form its own aspx solution. Let's start with project compilation.

 

1. Create an Asp.net project that contains the aspx + Aspx. CS file. aspx has a tag pointing to the referenced Aspx. CS file, and Aspx. CS becomes the codebehind.

But this Aspx. the CS file is a semi-finished product and does not declare various control objects (textbox...) used by the user ...), so it's partial class. When we write code, Microsoft vs intelligently prompts the control and dynamically generates the control during compilation.

 

2. When the pre-compiled project is translated as DLL, The ASPX page automatically inheritsHttphandlerAnd becomes the core of request processing.

 

3. the user sends a request to the IIS page through httpmodule-> httpfactory, obtains httphandler (that is, our page) for request processing, and finally outputs it to the client (response. write (XXX )).

This process is very similar to the dynamic loading of spring. As for how to optimize it, I dare not guess it. Some cool people wrote it.Article[1] [2]. Ms will certainly use temporary XML files (indicating DLL update), aspx files in the target path (pointing to the DLL location to be loaded) and other columns to determine how to load the DLL.

 

4. After the user clicks a button to submit the job, aspx will press the displayed data (including a large gridview) on the pageViewstate, Passed to Aspx. CS, so our code can get textbox. text. After we set the value for the control, aspx. CS will push the data into viewstate, pass it to the client, and assign the value to the control.

In the process, the page must be assisted by JS, and the server must assign values and values using a mechanism similar to reflection. As for the dynamic compilation (emit), we need to further investigate it.

 

I don't know if ASP. NET can be summarized in these four paragraphs? The most failed in ASP. NET, I think, is the excessive use of dynamic compilation and dynamic loading technologies. Although the development efficiency has been improved, there are indeed a lot of problems.

 

Since ASP. net core technology. Now I want to find and develop an ASP. net core technology, that is, absorbing ASP. net as a server development advantage, and has the effect of rapid page development.

 

Abandon ASP. NET and find excellent successors

-------------------------------------

1. The website must use ASP. NET. Otherwise, the C # We write will be charged, and the various frameworks will be written in white. Then, httphandler must be used for business logic processing.

2. The page must beNoUse web control controls. Use the popular JS frameworks, such as jquery and extjs.

3. Use jquery template to solve the logic section of the page.

4. The JSON protocol is used for server and page transmission.

To replace ASP. NET, I thought about the above points (only four words are provided, but I have been searching for materials and thinking for a few days ).

 

First, I will not inherit httphandler and register with Web. config to implement business logic. After all, An ASPX. CS is an httphandler. Why should I do this? If I inherit httphandler, how can I route user requests to the specified service logic code? This process is similar to the dynamic loading in ASP. NET, and finally a complex architecture.

 

Second, I do not need any server script or tag technology. I want to completely separate the page from the server. The page uses js to parse JSON, and a maximum of JavaScript templates can be used to implement dynamic pages. Otherwise, once the page logic technology (web control...) of Asp.net is used ...), All the work is done.

 

Finally, my business code will not be placed in ASP. net website project, otherwise the damn smart prompt will take my life, so you need to inherit a page by yourself, and then point to the actual project code through a simple registration mechanism. In this way, the entire website project is a front-end page + an alternative framework. The rest will be in a newClass Library.

 

The general idea is as described above. In the next article, I try to contribute a prototype system. I hope to inherit some existing front-end frameworks and add the traditional back-end logic encoding to implement the real architecture.. NET Framework.

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.