ஏஎஸ்பி.நெட்
எஎஸ்பி.நெட் என்பது மைக்ரோசாஃப்டினால் உருவாக்கப்பட்டு, சந்தைப்படுத்தப்பட்ட ஒரு வலை பயன்பாட்டு வரைச்சட்டம் ஆகும். இது ஆற்றல்மிகு வலைத்தளங்களையும், வலை பயன்பாடுகளையும் மற்றும் வலை சேவைகளையும் உருவாக்க நிரலாளர்களுக்கு உதவுகிறது. ஜனவரி 2002-ல் முதன்முறையாக .நெட் வரைச்சட்டத்தின் பதிப்பு 1.0 வெளியிடப்பட்டது. இது அதற்கு முன்னர் இருந்த மைக்ரோசாஃப்டின் Active Server Pages (ASP) தொழில்நுட்பத்தைக் கடந்து வெற்றி பெற்றது. எஎஸ்பி.நெட் தொழில்நுட்பம், பொதுமொழி செயல்நேர (Common Language Runtime - CLR) அடித்தளத்தில் உருவாக்கப்பட்டிருக்கிறது. இதில் எந்தவொரு .நெட் மொழியையும் பயன்படுத்தி நிரலாளர்களால் குறியீடுகளை எழுத முடியும். எஎஸ்பி.நெட் SOAP விரிவாக்க வரைச்சட்டமானது, SOAP சேதிகளைச் செயல்படுத்த எஎஸ்பி.நெட் உட்கூறுகளை அனுமதிக்கிறது. வரலாறு1997-ல் இணைய தகவல் சேவைகள் (IIS) வெளியிடப்பட்ட பின்னர், எஎஸ்பி குறித்த பொதுவான குறைபாடுகளைத் தீர்க்கும் ஒரு புதிய வலை பயன்பாட்டு மாதிரியை உருவாக்குவதற்கான சாத்தியக்கூறுகளை மைக்ரோசாஃப்ட் ஆராய தொடங்கியது. குறிப்பாக புறத்தோற்றபாங்கையும், தகவலடக்கத்தையும் (content) பிரித்து காட்டும் வகையில், "தெளிவான" குறியீடுகளை எழுதுவதற்காக இதன் ஆய்வு தொடங்கி இருந்தது.[1] இணைய தகவல் சேவைகள் குழுவின் ஒரு மேலாளரான மார்க் ஆண்டர்ஸும், டூக் (Duke) பல்கலைக்கழகத்தில் பட்டம் பெற்ற பிறகு 1997-ல் மைக்ரோசாஃப்டில் சேர்ந்திருந்த ஸ்காட் குத்ரே இருவரும் அந்த மாதிரிவடிவம் எப்படி இருக்க வேண்டும் என்பது குறித்து வரையறுக்க பணிக்கப்பட்டார்கள். ஆண்டர்ஸ் மற்றும் குத்ரே இருவரும் இரண்டு மாத காலத்தில் ஆரம்ப வடிவமைப்பை உருவாக்கினார்கள். 1997-ன் கிறிஸ்துமஸ் விடுமுறையின் போது குத்ரே இதற்கான ஆரம்பநிலை மூலமுன்மாதிரி குறியீடுகளை உருவாக்கினார்.[2] ![]() முதல் முன்மாதிரியானது, "XSP" என்று அழைக்கப்பட்டது. குத்ரே ஒரு 2007 நேர்காணலில் விளக்கம் அளிக்கும் போது, "எல்லோரும் X எதை குறிக்கிறது என்று கேட்பார்கள். இப்போது இது எதையும் குறிக்கவில்லை. XML கூட இப்படி தான் தொடங்கியது. XSLT கூட அப்படி தான் தொடங்கியது. அருமையானது எல்லாமே X என்பதில் இருந்து தான் தொடங்கி இருக்கிறது. இதனால் தான் நாங்களும் இதற்கு இவ்வாறு பெயரிட்டோம்." என்று குறிப்பிட்டார்.[1] XSP-ன் முதல் முன்மாதிரி ஜாவா பயன்படுத்தி செய்யப்பட்டது.[3] ஆனால் புதிய பணித்தளத்தைப் பொதுமொழி செயல்நேரத்தில் உருவாக்க தீர்மானிக்கப்பட்டது. மைக்ரோசாஃப்டின் Component Object Model பணித்தளத்திலிருந்த கசடுகள் சேகரிப்பும் (Garbage collection), பிற வசதிகளும் மிகவும் தேவையான வசதிகளாக கருதப்பட்டன. அவர்களின் புதிய வலை அபிவிருத்தி பணித்தளத்தின் வெற்றி CLR-ன் வெற்றியைச் சார்ந்திருந்தது. XSP போலவே, CLR அதன் ஆரம்பநிலை அபிவிருத்திகளில் இருந்தது. ஆகவே மைக்ரோசாஃப்டில் CLR-ஐ அதிகமாக இலக்கில் கொண்ட முதல் குழுவாக XSP குழு அமைந்தது. பொதுமொழி செயல்நேர அடித்தளத்திற்கு நகர்ந்ததால், XSP மீண்டும் C#-ல் நிறுவப்பட்டு, ASP+ என்று பெயர் மாற்றப்பட்டது. இந்த நிலையில் இந்த புதிய பணித்தளம் எஎஸ்பி-யை வெற்றி கொண்டுவிட்டதாக கருதப்பட்டது. அத்துடன் எஎஸ்பி அபிவிருத்தியாளர்கள் இதற்கு சுலபமாக மாறுவதற்கான வழியை அளிப்பதே இந்த புதிய பணித்தளத்தின் நோக்கமாக இருந்தது.[4] 2000ஆம் ஆண்டு மே 2ஆம் தேதி, அரிஜோனாவின் போனிக்ஸில் நடந்த எஎஸ்பி இணைப்புகள் மாநாட்டில், மார்க் ஆண்டர்ஸ் முதன்முறையாக ASP+ பணித்தளத்தின் விளக்கத்தை வெளியிட்டார். புளோரிடாவின் ஓர்லண்டோவில் 2000ஆம் ஆண்டு ஜூலை 11-ல் நடைபெற்ற, மேம்பாட்டு வல்லுனர்கள் மாநாட்டில் ASP பற்றிய பரந்த மக்களுக்கான விளக்கமும், ASP+ ஆரம்பநிலை முன்சோதனை வெளியீடும் வெளியிடப்பட்டது. இம்மாநாட்டில், மைக்ரோசாஃப்டின் புதிய விஷூவல் பேசிக்.நெட் மற்றும் C# மொழிகளும் அறிவிக்கப்பட்டன. அதனோடு பல்வேறு மென்பொருள் கருவிகளின் மூலமாக Python மற்றும் Perl வசதிகளும் எடுத்துக்காட்டப்பட்டன.[5] 2000-ஆம் ஆண்டின் இரண்டாம் பாதியில், ".நெட்" முத்திரைச்சொல் முடிவு செய்யப்பட்டவுடன், ASP+ என்பது எஎஸ்பி.நெட் என்று பெயர் மாற்ற தீர்மானிக்கப்பட்டது. அந்த ஆண்டில் MSDN நிகழ்ச்சி யில் தோன்றிய மார்க் ஆண்டர்ஸ் குறிப்பிடுகையில், "உண்மையில் பல்வேறு காரணிகளின் அடிப்படையில் .நெட் முனைவு அமைந்திருக்கிறது. இது XML மற்றும் வலை சேவைகள் சார்ந்தது என்பதுடன், உண்மையில் இது முடிந்த வரை இணையத்தை மேம்படுத்துகிறது... நாங்கள் .நெட் வரைச்சட்டத்தை உருவாக்கும் ஏனைய பணித்தள விஷயங்களையும் இதற்கு ஒத்த வகையில் கொண்டு வர விரும்புகிறோம்." என்று தெரிவித்தார்.[4] நான்காண்டு அபிவிருத்திக்கு பின்னர், 2000 மற்றும் 2001-ஆம் ஆண்டு வெளியான தொடர்ச்சியான சோதனை வெளியீடுகளுக்கு பின்னர், .NET வரைச்சட்டம் பதிப்பு 1.0 வெளியீட்டின் ஒரு பாகமாக 2002-ஆம் ஆண்டு ஜனவரி 5ஆம் தேதி ASP.NET பதிப்பு 1.0 வெளியிடப்பட்டது. இந்த பதிப்பு வெளியிடப்படுவதற்கு முன்னரே, ASP.NET குறித்து பல புத்தகங்கள் வெளியாகி இருந்தன.[6] மேலும் மைக்ரோசாஃப்ட் வலை சேவைகளுக்கான தங்கள் பணித்தளத்தின் ஒரு பாகமாக இதை மைக்ரோசாஃப்ட் வலுவாக ஊக்குவித்தது. ASP.NET-க்கான தயாரிப்பு பிரிவு மேலாளராக குத்ரே நியமிக்கப்பட்டார். 2003ஆம் ஆண்டு ஏப்ரல் 24-ல் விண்டோஸ் சர்வர் 2003-ன் ஒரு பாகமாக பதிப்பு 1.1 வெளியிடப்பட்டது. இந்த புதிய பதிப்பு கைபேசி சாதனங்களுக்கு ASP.NET-ன் உதவியை மேம்படுத்தும் வகையில் அமைந்திருந்தது.
பண்புகள்பக்கங்கள்உத்தியோகப்பூர்வமாக "வலைப்படிவங்கள்" என்று அழைக்கப்படும் .NET பக்கங்களே பயன்பாட்டு அபிவிருத்திக்கான முக்கிய கட்டுமானப் பிழம்புகளாக இருக்கின்றன.[7] இந்த வலைப்படிவங்கள் ஒரு ".aspx" விரிவாக்கங்களுடன் கோப்புகளில் இடம் பெற்றிருக்கும். நிரல்படுத்தல் வார்த்தைகளில் கூறுவதானால், இந்த கோப்புகள் குறிப்பிடத்தக்க அளவில் மாறா (X)HTML மார்க்அப்பைக் கொண்டிருக்கும். அத்துடன் வழங்கனின் வலை கட்டுப்பாடுகளையும், பயனர் கட்டுப்பாடுகளையும் வரையறுக்கும் மார்க்அப்களையும் கொண்டிருக்கும். இங்கே தான் அபிவிருத்தியாளர்கள் வலைப்பக்கத்திற்குத் தேவையான அனைத்து மாறா மற்றும் மாறும் தகவலடக்கத்தை வைத்திருப்பார்கள். மேலும் அத்துடன், வழங்கனில் ஓடி கொண்டே இருக்கும் மாறும் குறியீடானது, ஒரு பக்கத்தில் இருக்கும் பின்வரும் உதாரணம், பின்புற குறியீட்டு முறைக்கு (code-behind) பதிலாக, "inline" குறியீட்டைப் பயன்படுத்துவதைக் கவனிக்கவும். <%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToLongTimeString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Sample page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
The current time is: <asp:Label runat="server" id="Label1" />
</div>
</form>
</body>
</html>
பின்புற குறியீட்டு முறைபின்புற குறியீட்டு முறையைப் பயன்படுத்தி டைனமிக் நிரல் குறியீட்டுடன் தொடர்புபடுவதையே மைக்ரோசாஃப்ட் பரிந்துரைக்கிறது. இந்த முறையானது குறியீட்டை ஒரு பிரத்யேக கோப்பில் இடுகிறது அல்லது பிரத்யேகமாக வடிவமைக்கப்பட்ட ஸ்க்ரிப்ட் ஒட்டியில் (tag) இருத்துகிறது. பின்புற குறியீட்டு முறையின் கோப்புகள் Mypage.aspx.cs அல்லது Mypage.aspx.vb போன்ற குறிப்பிடத்தக்க பெயர்களைக் கொண்டிருக்கும். குறிப்பாக, ASPX கோப்பு போன்றே இதே கோப்பு பெயர்கள் இருக்கும். ஆனால் இறுதியில் இருக்கும் நீட்சி மட்டும் பக்க மொழியைக் குறிப்பிட்டு காட்டும் வகையில் அமைந்திருக்கும். இந்த செயல்முறை மைக்ரோசாஃப்டின் விஷூவல் ஸ்டூடியோவிலும் மற்றும் பிற IDE-களிலும் தானாகவே நடக்கிறது. இந்த பாணியிலான நிரல்படுத்தலைப் பயன்படுத்தும் போது, அபிவிருத்தியாளர் பல்வேறு நிகழ்வுகளுக்கு, அதாவது ஆவணம் முழுவதையும் ஒரு வழிமுறைப்படி செய்யாமல், பக்கம் ஏற்றப்படுவது, அல்லது ஒரு கட்டுப்பாட்டுக் கட்டளை சொடுக்கப்படுவது போன்ற நிகழ்வுகளுக்கு பிரதிபலிப்பைக் காட்டும் வகையில் குறியீட்டை எழுதுகிறார். ASP.NET-ன் பின்புற குறியீட்டு முறை பழைய எஎஸ்பி-இல் இருந்து வெளியேறுவதற்கான வழியைக் காட்டுகிறது. அதில் புறத்தோற்றபாங்கையும், தகவலடக்கத்தையும் பிரித்து காட்டுவதை மனதில் வைத்து பயன்பாடுகளை உருவாக்க அபிவிருத்தியாளர்களை அது ஊக்குவிக்கிறது. உதாரணம்<%@ Page Language="C#" CodeFile="SampleCodeBehind.aspx.cs" Inherits="Website.SampleCodeBehind"
AutoEventWireup="true" %>
மேற்படி ஒட்டி ASPX கோப்பின் தொடக்கத்திலேயே இடம் பெற்றிருக்கும். @ Page directive-ன் குறியீட்டுகோப்பு தன்மை, அந்த கோப்பு பின்புற குறியீட்டு முறையில் செயல்படுவதைக் குறிக்கிறது. அதேசமயம் அதிலிருக்கும் பழைய குறிப்பு, அந்த பக்கம் எதிலிருந்து பெறப்பட்டதோ அதன் வகையை குறிப்பிட்டுக் காட்டுகிறது. இந்த எடுத்துக்காட்டில், @ Page directive ஆனது SampleCodeBehind.aspx-ல் சேர்க்கப்பட்டிருக்கிறது. பின்னர் SampleCodeBehind.aspx.cs ஆனது இந்த பக்கத்திற்கு பின்புற குறியீட்டு முறையாக செயல்படுகிறது: using System;
namespace Website
{
public partial class SampleCodeBehind : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Hello, Every one!");
}
}
}
இதில், Page_Load() முறையானது, ASPX பக்கம் கோரப்படும் ஒவ்வொருமுறையும் மீண்டும் மீண்டும் அழைக்கப்படுகிறது. நிரலாளர் செயல்முறைப்படுத்தலைச் செய்ய பக்க செயல்பாட்டு செயல்முறையின் பல்வேறு நிலைகளில் நிகழ்வு கையாளுனிகளை (event handlers) நிறுவலாம். பயனர் கட்டுப்பாடுகள்ASP.NET நுட்பம், பயனர் கட்டுப்பாடுகளை உருவாக்குவதன் மூலமாக மறுஉபயோகத்திற்குரிய உட்கூறுகளை உருவாக்க உதவுகின்றன. ஒரு பயனர் கட்டுப்பாடு ஒரு வலைப்படிவத்தின் அதே கட்டமைப்பையே கொண்டிருக்கும். ஆனால் விதிவிலக்காக அந்த கட்டுப்பாடுகள் நிரலாளர்கள் தங்களின் சொந்த பண்புகள், முறைகள்,[8] மற்றும் நிகழ்வு கையாளுனிகளைச் சேர்க்க முடியும்.[9] ஒரு நிகழ்வு குமிழியக்க பொறியமைப்பு ஒரு பயனர் கட்டுப்பாட்டால் வீசப்பட்ட ஒரு நிகழ்வை அது கொண்டிருக்கும் பக்கம் வரைக்கும் எடுத்துச் செல்வதற்கான திறனை அளிக்கிறது. தேவைக்கேற்ற கட்டுப்பாடுகள்நிரலாளர்கள் எஎஸ்பி.நெட் பயன்பாடுகளுக்காக தேவைக்கேற்ற கட்டுப்பாடுகளையும் உருவாக்க முடியும். பயனர் கட்டுப்பாடுகளைப் போல, இந்த கட்டுப்பாடுகள் ஒரு ASCX கோப்பைக் கொண்டிருக்காது. இதில் அவற்றின் குறியீடு அனைத்தும் ஒரு DLL-கோப்பிற்குள் தொகுக்கப்பட்டிருக்கும். இதுபோன்ற தேவைக்கேற்ற கட்டுப்பாடுகளைப் பன்முக வலை-பயன்பாடுகளுக்குள் பயன்படுத்த முடியும். ஆனால், இது பயனர் கட்டுப்பாடுகளில் அனுமதிக்கப்படுவதில்லை. வழங்கும் நுட்பம்எஎஸ்பி.நெட்-ஐ தொகுக்கும் போது, வார்ப்புரு (.aspx) கோப்பு துவக்க குறியீடுகளுக்குள் தொகுக்கப்படுகிறது. இது மூல வார்ப்புருவைக் குறிப்பிட்டு ஒரு கட்டுப்பாட்டு தொடர்வை (கலவை) உருவாக்குகிறது. நிலையுரு எழுத்துக்கள் நிலையுரு கட்டுப்பாட்டு வகுப்பின் நிலைக்குள் செல்கின்றன. மேலும் வழங்கன் கட்டுப்பாடுகள் ஒரு பிரத்யேக கட்டுப்பாட்டு வகுப்பின் நிலையால் குறிப்பிட்டு காட்டப்படுகின்றன. துவக்க குறியீடு பயனரால் எழுதப்பட்ட குறியீட்டுடன் ஒருங்கிணைக்கப்படுகின்றன. பின்னர் அந்த பக்கத்திற்காக ஒரு பிரத்யேக வகுப்பில் தொகுக்கப்படுகின்றன. அந்த பக்கம் கட்டுப்பாட்டு தொடர்வின் வர்க்கமாக இரட்டிப்பாகி செல்கிறது. இந்த பக்கத்திற்கான உண்மையான கோரிக்கைகள் பல்வேறு படிகளின் மூலமாக செயல்படுத்தப்படுகின்றன. முதலில், துவக்கும் போது, பக்க வகுப்பின் (page class) ஒரு சான்று உருவாக்கப்படுகிறது. பின்னர் துவக்க குறியீடு செயல்படுத்தப்படுகிறது. இது துவக்க கட்டுப்பாட்டு கிளையை உருவாக்குகிறது. இந்த கிளை இப்போது குறிப்பிடத்தக்க அளவில் பின்வரும் வழிகளில் பக்க நுட்பங்களால் மாற்றி அமைக்கப்படுகிறது. இந்த கிளையில் இருக்கும் ஒவ்வொரு கணுவும் ஒரு கட்டுப்பாடாகும். இது ஒரு வகுப்பின் ஒரு சான்றாக குறிக்கப்படுகிறது. இந்த குறியீடு கிளை வடிவத்தை மாற்றக் கூடும். அத்துடன் ஒவ்வொரு தனித்தனி கணுக்களின் பண்புகளையும்/முறைகளையும் கூட மாற்றி அமைக்கக் கூடும். இறுதியாக, வழங்கும் படிநிலையின் போது, ஒரு பார்வையாளர் கிளையில் இருக்கும் ஒவ்வொரு கணுவையும் பார்வையிடுகிறார். இத்துடன் பார்வையாளரின் முறைகளைப் பயன்படுத்தி ஒவ்வொரு கணுவும் தானாகவே மொழிமாற்றவும் கேட்டு கொள்ளப்படுகிறது. இதன் விளைவாக கிடைக்கும் HTML வெளியீடு, வாடிக்கையாளருக்கு அனுப்பி வைக்கப்படுகிறது. இந்த கோரிக்கை செயல்முறைப்படுத்தப்பட்ட பின்னர், பக்க வகுப்பின் சான்று கைவிடப்படும். அத்துடன் மொத்த கட்டுப்பாட்டு கிளையும் கைவிடப்படும். இது புதிய எஎஸ்பி.நெட் நிரலாளர்களுக்கு பொதுவாக சிறிது குழப்பத்தை ஏற்படுத்தும். இது வகுப்பு சான்று உறுப்பினர்களைச் சார்ந்திருப்பதால், அது ஒவ்வொரு பக்க கோரிக்கை/ பிரதிபலிப்பு சுற்றுடன் காணாமல் போய்விடுகிறது. நிலை மேலாண்மைஎஎஸ்பி.நெட் பயன்பாடுகள் ஒரு வலை வழங்கனில் பதிப்பிக்கப்பட்டு, நிலையற்ற (stateless) HTTP நெறிமுறையின் வழியாக அணுகப்படுகின்றன. இந்நிலையில், அந்த பயன்பாடு ஒரு நிலைப்பட்ட (stateful) தொடர்பை பயன்படுத்தினால், அது சொந்தமாக நிலை மேலாண்மையைச் செயல்படுத்த வேண்டியதிருக்கும். எஎஸ்பி.நெட் நிலை மேலாண்மைக்காக, பயன்பாடுகளில் பல்வேறு செயல்பாடுகள் வழங்கப்படுகின்றன. கருத்து வகையில், மைக்ரோசாஃப்ட் "நிலை" என்பதை பெரும்பாலும் GUI நிலையாக கையாள்கிறது; ஒரு பயன்பாடு, "தரவு நிலையைத்" தொடர்ந்து கண்காணிக்க வேண்டிய நிலை ஏற்படும் போது, பெரிய பிரச்சினைகள் உருவாகிவிடுகின்றன. அதாவது கோரிக்கைகளின் மந்தமான மதிப்பீடுகளுக்கோ அல்லது துவக்குவதற்கு நீண்ட காலம் எடுக்கும் கோரிக்கைகளுக்கோ இடையில் ஒரு தடுமாற்றத்தோடு இருக்கக்கூடிய ஓர் உறுதியான இயந்திரம் போல உருவாகிவிடுகின்றன. பயன்பாட்டு நிலைபயன்பாட்டு நிலை (application state) என்பது பயனர் வரையறுத்த மாறிகளின் ஒரு தொகுப்பாகும். இது ஒரு எஎஸ்பி.நெட் பயன்பாட்டால் பகிர்ந்து கொள்ளப்படுகிறது. அமர்வு நிலைஅமர்வு நிலை என்பது பயனர் வரையறுத்த அமர்வு மாறிகளின் ஒரு தொகுப்பாகும். இது ஒரு பயனர் அமர்வின் போது பிடிவாதமாய் நிற்கிறது. இந்த மாறிகள் ஒரு பயனர் அமர்வின் பல்வேறு காலகட்டத்தில் வெவ்வேறாக இருக்கின்றன என்பதுடன் அமர்வு மாறிகள் ஒருகுறிப்பிட்ட நேரத்திற்கு செயல்படாமல் இருக்கும்பட்சத்தில், அந்த அமர்வு முடியாமலேயே இருந்தாலும் கூட, தானாகவே அழிக்கப்படும் வகையிலும் அமைக்கப்படலாம். வாடிக்கையாளர் முனையில், ஒரு பயனர் அமர்வை ஒரு கூக்கி மூலமாகவோ அல்லது வலைமுகவரியிலேயே அமர்வு அடையாளத்தைக் குறியேற்றம் (encoding) செய்வதன் மூலமாகவோ கண்டறியலாம்.[10] எஎஸ்பி.நெட் அமர்வு மாறிகளுக்கான நிலைப்பின் மூன்று முறைகளை ஆதரிக்கிறது:[10]
பயன்பாடு நேரத்திற்கு நேரம் மறுசுழற்சி செய்யப்படுவதால், அதிமுக்கியமான பயன்பாடுகளுக்கு இந்த முறை பரிந்துந்துரைக்கப்படுவதில்லை. மாறாக நடைமுறையில் இந்த முறை எந்த பயன்பாடுகளுக்குமே பரிந்துரைக்கப்படுவதில்லை.
பார்வைக்குரிய நிலைபார்வைக்குரிய நிலை (view state) என்பது பக்க-அளவிலான நிலை மேலாண்மை பொறியமைப்பைக் குறிக்கிறது. இது வலைப்படிவ கட்டுப்பாடுகள் மற்றும் சாதனங்களின் நிலையை நிர்வகிக்க எஎஸ்பி.நெட் பயன்பாடுகளால் வெளியேற்றப்பட்ட எச்டிஎம்எல் பக்கங்களால் பயன்படுத்தப்படுகிறது. கட்டுப்பாடுகளின் நிலை குறியேற்றம் செய்யப்பட்டு, இதன் முக்கிய பயன் என்னவென்றால் postback-கள் மத்தியில் படிவ தகவலைக் காப்பாற்றுவதே ஆகும். ஆகவே ஒரு பயனர் ஒரு படிவத்தை நிரப்பும் போது தவறான மதிப்பை உள்ளிட்டால், அதை திருத்துவதற்காக இந்த படிவம் பயனருக்கு திருப்பி அனுப்பும் போது இது தானாகவே திரும்பவும் நிரப்பப்பட்டிருக்கும். முன்னிருப்பிலேயே பார்வைநிலை ஆன் செய்யப்பட்டிருக்கும். ஒரு பக்கம் postback-ன் போது நிஜத்தில் பயன்படுத்தப்பட்டதா இல்லையா என்பதைப் பொறுத்தில்லாமல் இந்த பக்கத்தின் ஒவ்வொரு கட்டுப்பாட்டின் தரவையும் பார்வைநிலை வழக்கமாக வரிசைப்படுத்துகிறது. ஆனால் இந்த நடவடிக்கையை மாற்றி அமைக்க முடியும் (கட்டாயம் மாற்றி அமைக்கவும் வேண்டும்), ஒரு கட்டுப்பாடு சார்ந்தோ, ஒரு பக்கம் சார்ந்தோ, அல்லது சர்வர் முழுவதுமான அடிப்படையிலோ இந்த பார்வைநிலையை செயல்படுத்தாமலும் செய்ய முடியும். பார்வைக்குரிய நிலை தரவைக் கொண்டிருக்கும் base64 சரத்தின் வரிசைப்படுத்தலை, வலையில் கிடைக்கும் பல்வேறு கருவிகளில் ஒன்றைப் பயன்படுத்தியோ அல்லது ஏதாவதொரு பொதுவான base64 குறியிறக்கியைப் பயன்படுத்தியோ எளிமையாக குலைத்துவிட முடியும் என்பதால், மிகவும் முக்கியமான அல்லது பிரத்யேக தகவல்களை ஒரு பக்கத்தின் அல்லது கட்டுப்பாட்டின் view state-ல் சேமித்து வைக்கும் போது அபிவிருத்தியாளர்கள் மிகவும் எச்சரிக்கையாக இருக்க வேண்டி உள்ளது. பார்வைக்குரிய நிலை, முன்னிருப்பாகவே, __VIEWSTATE மதிப்பை குறியேற்றம் செய்து வைத்திருப்பதில்லை; எவ்வாறிருப்பினும், ஒரு குறிப்பிட்ட அளவிலான பாதுகாப்பைக் கொண்டிருக்கும் வகையில் அனைத்து வழங்கன்களுக்கும் குறியேற்றத்தைச் செயல்பாட்டில் வைத்திருக்க முடியும்.[13] மற்றவைகுக்கீஸ், கேச்சிங் மற்றும் வினாச்சரம் பயன்படுத்துதல் ஆகியவை ASP.NET-ஆல் ஒத்துழைக்கப்படும் நிலை மேலாண்மையின் பிற விஷயங்களாகும். வார்ப்புரு இயந்திரம்முதன்முதலாக வெளியிடப்பட்ட போது, ASP.NET-ல் ஒரு வார்ப்புரு இயந்திரம் கிடையாது. .NET வரைச்சட்டம் ஆப்ஜெக்ட்டைச் சார்ந்து இருந்ததாலும், மரபுவழியடைதலை அனுமதிப்பதாலும், பல அபிவிருத்தியாளர்கள் "System.Web.UI.Page"-ல் உள்ளிருப்பாக இருந்த ஒரு புதிய அடித்தள வகுப்பை வரையறுக்க வேண்டி இருந்தது, எழுதும் முறைகள் இங்கே HTML-ல் இருந்து பெறப்பட்டது, பின்னர் இந்த பக்கங்களை அவர்களின் பயன்பாட்டில் இந்த புதிய வகுப்பில் இருந்து உள்ளிருப்பாக வைப்பார்கள். பொதுவான உட்கூறுகள் ஒரு வலைத்தளத்தினிடையே மறுஉபயோகம் செய்யப்பட இது அனுமதிக்கிறது என்ற போதினும், இது குழப்பத்தையே ஏற்படுத்தியது, மேலும் முதன்மை குறியீட்டை மார்க்அப் உடன் கலந்துவிடுகிறது. அது மட்டுமில்லாமல், இந்த முறையானது பயன்பாட்டை ஓடவிட்டு நேரடி பார்வையில் மட்டும் தான் பரிசோதிக்க முடியும் . இதைதை வடிவமைக்கும் போது பரிசோதிக்க முடியாது. பிற அபிவிருத்தியாளர்கள் ஒவ்வொரு பக்கத்திலும் ஒரே வழிசெலுத்துதலையும், பிற உட்கூறுகளையும் நிறுவ வேண்டியதைத் தடுக்க பிற உத்திகளையும், கோப்புகளையும் சேர்த்து பயன்படுத்தினார்கள். ASP.NET 2.0 "முதன்மை பக்கங்கள்" நுட்பத்தை அறிமுகப்படுத்தியது, இது வார்ப்புரு-அடிப்படையிலான பக்க அபிவிருத்தியை அனுமதிக்கிறது. ஒரு வலை பயன்பாடு ஒன்றோ அல்லது பல முதன்மை பக்கங்களைக் கொண்டிருக்கக் கூடும், ASP.NET 3.5-ல் இருந்து தொடங்கும் இதை தொகுதியாக அமைக்கலாம்.[14] முதன்மை வார்ப்புருக்கள் இட-குறிப்பு கட்டுப்பாடுகளைக் கொண்டிருக்கும், இது ContentPlaceHolders என்று அழைக்கப்படுகிறது, இது மாறும் தகவலடக்கம் எங்கே செல்கின்றன என்பதையும், அத்துடன் சேய் பக்கங்களுக்கு இடையில் HTML மற்றும் Javascript-கள் பகிர்ந்து கொள்ளப்படுவதையும் குறிப்பிட்டு காட்டுகின்றன. சேய் பக்கங்கள் அந்த ContentPlaceHolder கட்டுப்பாடுகளைப் பயன்படுத்துகின்றன, இவை தகவலடக்க பக்கம் இருந்து வரும் முதன்மை பக்கத்தின் இட-குறிப்பான்களுடன் பொருத்தப்பட வேண்டும். பக்கத்தின் மீத பகுதி முதன்மை பக்கத்தின் பகிர்ந்துகொள்ளப்பட்ட பாகங்களால் வரையறுக்கப்படுகிறது, அதாவது ஒரு எழுதியில் இருக்கும் ஒரு மின்னஞ்சல் இணைப்பு முறையைப் போல வரையறுக்கப்படுகிறது. தகவலடக்க பக்கத்தில் இருக்கும் அனைத்து மார்க்அப் மற்றும் சர்வர் கட்டுப்பாடுகளும் ContentPlaceHolder கட்டுப்பாட்டுக்கு உள்ளேயே இடம் பெற்றிருக்க வேண்டும். ஒரு தகவலடக்க பக்கத்திற்கான கோரிக்கை விடுக்கப்படும் போது, ASP.NET தகவலடக்க பக்கத்தின் வெளியீட்டை முதன்மை பக்கத்தின் வெளியீட்டுடன் சேர்த்துவிட்டு, வெளியீட்டை பயனருக்கு அனுப்பி விடுகிறது. முதன்மை பக்கமானது தகவலடக்க பக்கத்தை முழுமையாக அணுகும் வகையில் இருக்கிறது. அதாவது, தகவலடக்க பக்கமத்தால் தலைப்பியை மாற்றுதல், தலைப்பை மாற்றுதல், கேச்சிங் உள்ளமைவு செய்தல் மற்றும் இன்னும் இதரபிற வேலைகளையும் செய்ய முடியும். பொது விஷயங்களையோ அல்லது முறைகளையோ முதன்மை பக்கம் வெளிக்காட்டினால் (எடுத்துக்காட்டாக, காப்புரிமை தகவல்களை அமைப்பது போன்றவை), தகவலடக்க பக்கம் அவற்றையும் பயன்படுத்தி கொள்ளும். பிற கோப்புகள்ASP.NET-ல் உள்ளடங்கி இருக்கும் பல்வேறு பதிப்புகளுடன் இணைந்திருக்கும் பிற கோப்பு விரிவாக்கங்கள்:
கோப்பக கட்டமைப்புபொதுவாக, ASP.NET கோப்பக வடிவமைப்பு அபிவிருத்தியாளர்களின் விருப்பப்படியே அமைக்கப்படும். ஒருசில குறிப்பிட்ட கோப்பக பெயர்கள் தவிர, ஒரு வலைத்தளமானது எத்தனை கோப்பகங்களை வேண்டுமானாலும் நீட்டப்பட்டிருக்கலாம். இந்த வடிவமைப்பு குறிப்பிடத்தக்களவில் நேரடியாக வலைமுகவரிகளில் பிரதிபலிக்கப்பட்டிருக்கும். செயல்படுத்தப்பட்டு கொண்டிருக்கும் போது எந்த சமயத்திலும் கோரிக்கையைத் தடுத்து மாற்றுவதற்கான வாய்ப்பை ASP.NET அளிக்கிறது என்ற போதினும், ஒரு மைய பயன்பாடு அல்லது முன் கட்டுப்பாடினியைக் கொண்டு கோரிக்கைகளை நீக்க அபிவிருத்தியாளர் கட்டாயப்படுத்தப்படுவதில்லை. சிறப்பு கோப்பக பெயர்களாவன (ASP.NET 2.0-த்தில் இருந்து)[16]:
செயல்திறன்(பழைய ASP உட்பட) பிற ஸ்கிரிப்ட் அடிப்படையிலான தொழில்நுட்பங்களை விட ASP.NET சிறந்த செயல்திறனைப் பெற நோக்கம் கொண்டிருக்கிறது, வலை சர்வரில் ஒன்று அல்லது பல DLL கோப்புகளுக்குச் சர்வரைச் சார்ந்த குறியீட்டைத் தொகுத்தெழுதுவதன் மூலம் இதை அடைய கருதுகிறது.[17] ஒரு பக்கம் முதல்முறையாக கோரப்படும் போது இந்த தொகுத்தெழுதுதல் தானாகவே நடக்கிறது (அதாவது பக்கங்களுக்காக அபிவிருத்தியாளர் ஒரு பிரத்யேக தொகுத்தெழுதலை செய்ய வேண்டிய அவசியமில்லை). இந்த வசதி செயல்திறன் ஆதாயத்துடன் ஒரு தொகுத்தெழுதப்பட்ட பைனரி மொழியில் ஸ்கிரிப்டிங் செய்வதன் மூலம் கிடைக்கும் எளிமையான அபிவிருத்தியை வழங்குகிறது. எவ்வாறிருப்பினும், தொகுத்தெழுதல் கவனிக்க வேண்டிய ஒரு நிலையை உருவாக்குகிறது, அதாவது புதிதாக மாற்றப்பட்ட பக்கம் முதல்முறையாக வலை சர்வரில் இருந்து கோரப்படும் போது வலை பயனருக்கு சிறிய தாமதம் ஏற்படும், ஆனால் கோரப்பட்ட அந்த பக்கம் மேற்கொண்டு இற்றைப்படுத்தப்பட்டால் ஒழிய மீண்டும் அதுபோல் தாமதப்படாது. ASPX மற்றும் பிற ஆதார கோப்புகள் ஓர் இணைய தகவல் சேவைகள் சர்வரில் (அல்லது பிற பொருத்தமான ASP.NET சர்வரிகளில்; கீழே கொடுக்கப்பட்டிருக்கும் பிற நிறுவுதல்கள் என்ற பகுதியைப் பார்க்கவும்) இருக்கும் ஒரு மெய்நிகர் ஹோஸ்டில் இருத்தப்படுகிறது. முதல்முறையாக ஒரு வாடிக்கையாளர் ஒரு பக்கத்தைக் கோரும் போது, .NET வரைச்சட்டம் ஒரு .NET அசெம்பிளிக்குள் ஆராய்ந்து, அந்த கோப்பைத் (கோப்புகளைத்) தொகுத்தெழுதுகிறது, அதன்பிறகு பதில் அனுப்புகிறது; அதுவரை கோரிக்கைகளுக்கு DLL கோப்புகளில் இருந்து சேவை அளிக்கப்படுகிறது. முன்னிருப்பாக, முதல் கோரிக்கையின் அடிப்படையில், ASP.NET மொத்த தளத்தையும் 1000 கோப்புகளின் பகுதிகளாக தொகுத்தெழுதும். தொகுத்தெழுதல் தாமதம் பிரச்சனைகளை உருவாக்குகிறது என்றால், அந்த பகுதியின் அளவு அல்லது தொகுத்தெழுதல் உத்தி மாற்றி அமைக்கப்படும். அபிவிருத்தியாளர்கள் MS விஷூவல் ஸ்டூடியோ பயன்படுத்தி, நிறுவுதலுக்கு முன்னால் அவர்களின் "பின்புற குறியீட்டு" கோப்புகளை முன்னரே தொகுத்தெழுதவும் தேர்ந்தெடுக்கக் கூடும், இவ்வாறு செய்யும் போது ஒரு உற்பத்தி சூழலில் சமீபத்தில் வந்த தொகுத்தெழுதலுக்கான தேவையைத் தவிர்த்துவிடுவார்கள். இது வலை சர்வரில் முதன்மை குறியீட்டைக் கொண்டிருக்க வேண்டும் என்ற தேவையையும் தவிர்த்துவிடுகிறது. நீட்சிASP.NET-க்குள் இணைக்கும் வகையில் மைக்ரோசாஃப்ட் சில விரிவாக்க வரைச்சட்டங்களை வெளியிட்டுள்ளது, மேலும் அது அதன் செயல்பாட்டையும் விரிவாக்கியுள்ளது. அவற்றில் சில:
பழைய ASP உடன் ASP.NET-ன் ஒப்பீடுஒரு விண்டோஸ் பயனர் இடைமுகத்தைப் போலவே கட்டுப்பாடுகளைக் கொண்ட பக்கங்களை உருவாக்கும் வசதியை அளிப்பதன் மூலமாக விண்டோஸ் பயன்பாட்டு மேம்பாட்டில் இருந்து வலை மேம்பாட்டிற்கு அபிவிருத்தியாளர்கள் மாறுவதை ASP.NET எளிமைப்படுத்த முயல்கிறது. ஒரு பொத்தான் அல்லது அடையாளச்சீட்டு போன்றிருக்கும் ஒரு வலைக்கட்டுப்பாடு, அதன் எதிர்பலத்தில் இருக்கும் விண்டோஸைப் போலவே செயல்படுகிறது: அதாவது குறியீடு அதன் பண்புகளை நிர்மானித்து கொண்டு, அதன் நிகழ்வுகளுக்குப் பதிலளிக்கும். கட்டுப்பாடுகளுக்குத் தனக்குத்தானே எவ்வாறு பெறுவது என்பது தெரியும்: ஆனால் விண்டோஸ் கட்டுப்பாடுகள் அவற்றை திரைக்கு இழுத்து வந்துவிடும், வலைக்கட்டுப்பாடுகள் HTML மற்றும் Javascript-ன் பிரிவுகளை உருவாக்குகின்றன, இவை இறுதி-பயனரின் உலாவிக்கு அனுப்பப்பட்ட பக்கத்தின் ஒரு பகுதியாக இருக்கும். ASP மற்றும் PHP போன்ற பழைய வலை-ஸ்க்ரிப்டிங் சூழல்களைப் பயன்படுத்தாமல் மாறாக, ASP.NET நிகழ்வால் உந்தப்படும் ஒரு GUI மாதிரியைப் பயன்படுத்தி பயன்பாடுகளை உருவாக்க நிரலாளர்களை ஊக்குவிக்கிறது. இந்த வரைச்சட்டம் நடப்பில் இருக்கும் Javascript போன்ற தொழில்நுட்பங்களை, "பார்வைக்குரிய நிலை" போன்ற உட்கூறுகளுடன் ஒருங்கிணைக்க முயற்சிக்கிறது, இதன் மூலம் உள்ளார்ந்து நிலையற்ற வலைச்சூழலை உறுதியான நிலைக்கு (உள்-கோரிக்கை) கொண்டு வர முயற்சிக்கிறது. பழைய ASP ஒப்பிடுகையில் இருக்கும் பிற வேறுபாடுகளாவன:
விமர்சனம்IIS 6.0 மற்றும் அதற்கு கீழான பதிப்புகளில், ASP வரைச்சட்டத்தின் வெவ்வேறு பதிப்புகளைப் பயன்படுத்தி எழுதப்பட்ட பக்கங்கள், வெளிநிறுவனங்களின் நூலகங்களைப் பயன்படுத்தாமல் அமர்வு நிலையைப் பகிர்ந்து கொள்ள முடியாது. இந்த விமர்சனம் ASP.NET-க்கு பொருந்தாது, மேலும் ASP பயன்பாடுகள் IIS 7-ல் அதற்கு இணையாக செயல்பட்டு கொண்டிருக்கும். IIS 7-ஐ கொண்டு, அலகுகளை எந்தவொரு ஒருங்கிணைந்த தொகுப்புவரிசையிலும் செயல்படுத்த முடியும், இது எந்த மொழியில் எழுதப்பட்ட அலகுகளையும் எந்தவித கோரிக்கைக்காகவும் செயல்படுத்த அனுமதிக்கிறது.[18] ASP.NET 2.0 வலைப்படிவங்கள் மார்க்அப்பை உருவாக்குகின்றன, இவை W3C மதிப்பீட்டிற்கு உட்பட்டு செல்கின்றன, ஆனால் இது அணுகுதலை சௌகரியப்படுத்துகிறதா என்பது விவாதத்திற்குரியதாக உள்ளது, இது ஒரு சொற்பொருள் சார்ந்த XHTML பக்கம் + CSS குறிப்பின் ஆதாயங்களில் ஒன்றாக இருக்கிறது. உள்நுழைவு கட்டுப்பாடுகள் மற்றும் விஜார்டு கட்டுப்பாடுகள் போன்ற பல்வேறு கட்டுப்பாடுகள், முன்னிருப்பாக அமைப்புத்திட்டத்திற்காக HTML அட்டவணைகளைப் பயன்படுத்துகின்றன. ASP.NET 2.0 CSS கட்டுப்பாட்டு இணைப்புச்சாதனங்கள் வெளியிட்டதன் மூலம் இந்த பிரச்சினையை மைக்ரோசாஃப்ட் தீர்த்திருக்கிறது, இந்த அடாப்டர் பொருத்தமான அணுகுதலுக்கு ஏற்ற XHTML+CSS மார்க்அப்பை உருவாக்குகிறது, அத்துடன் ASP.NET 4.0-ல் உள்நுழைவு கட்டுப்பாட்டுக்கு ஒரு பண்பையும் சேர்க்கிறது, இது அட்டவணை முறைக்கு பதிலாக div முறையில் செயல்படுத்துவதற்கு அதற்கு செயற்தூண்டல் அளிக்கிறது. பக்கங்களை மாற்றி அமைத்தல் மற்றும் உலாவியின் வரலாற்றை மாற்றுதல் போன்ற ASP.NET வலைப்படிவத்தின் ஒருசில வசதிகள், இன்டர்நெட் எக்ஸ்புளோரர் உலாவியில் மட்டுமே கிடைக்கிறது.[சான்று தேவை] மைக்ரோசாஃப்ட் வலைச்சேவைகளைத் தகுதியாக நிலைநிறுத்துகிறது, அதன் விளைவாக IIS/ASP.NET அவர்களின் முதன்மை பயன்பாட்டு சர்வர் தீர்வாக அமைந்துவிடுகிறது. "வெளியேற்றப்பட்ட" மைக்ரோசாஃப்ட் அணுகுமுறையைப் பயன்படுத்தும் சிக்கலான தொழில்துறை பயன்பாடுகளை நிறுவும் போது அடிப்படை சித்தாந்தத்திலேயே பெரிய மாறுபாடுகள் இருப்பது சகஜம் தான்: ASP.NET ஆனது திட நிலை மேலாண்மையில் பின்தங்கி இருக்கும்[சான்று தேவை], இதனால் அபிவிருத்தியாளர்கள் நிலை-கையாளும் அலகுகளைத் தேவைக்கேற்ப அவர்களாகவே குறியீடு செய்ய வேண்டியதிருக்கும், இது நிலையை ஏதாவதொரு புற செயல்முறையில் தான் சேமித்து வைக்க வேண்டியதிருக்கும், ஏனென்றால் ASP.NET பணிச்செயல்முறை தானாகவே மறுதுவக்கம் செய்யும்.[சான்று தேவை] இதை ஒரு சுலபமான எடுத்துக்காட்டில் விளக்கலாம்: ஒரு ASP.NET வலைத்தளம் ஒரு சர்வர் உட்கூறைச் சார்ந்திருக்கிறது என்று கற்பனை செய்து கொள்ளுங்கள், இது அதனுடைய நிலையைத் தக்க வைத்து கொள்ள வேண்டும், அந்த நிலை ஒரு சிக்கலான அல்கொரிதம் மூலமாக எட்டப்படும் - எடுத்துக்காட்டாக, ஒரு புவிவரைப்படத்தின் மீது பாதைகளைக் கோடிட்டு காட்டுவது போல. ஒரு வழி கணக்கிடுவதற்கு பல்வேறு CPU சுழற்சிகளை எடுத்துக்கொண்டது, மேலும் அதைத் தொடர்ந்து வரும் பல்வேறு வாடிக்கையாளர் கோரிக்கைகள், புவிவரைப்பட தொடர்ச்சிகளைப் பெறும் போது அந்த முடிவுகளைப் "பார்க்கும்". மற்றொரு எடுத்துக்காட்டு: வலை/அமர்வு நிலை சர்வர்களுக்கு இடையில் ஒழுங்குப்படுத்த முடியாத ஒரு மரபார்ந்த COM ஆப்ஜெக்ட்டில் நிலையானது சுருக்கி அடக்கப்பட்டிருக்கும் போது - "in-proc" முறை மட்டுமே சாத்தியமாகும், ஆனால் பயன்பாடு மறுதுவக்கம் ஆகும் என்பதால், இது நம்பகமானதல்ல. மேம்பாட்டு கருவிகள்ASP.NET பயன்பாடுகளின் அபிவிருத்திக்காக பல்வேறு மென்பொருள் தொகுப்புகள் கிடைக்கின்றன:
வரைச்சட்டங்கள்ASP.NET-ஐ மேம்படுத்தும் போது, தரமுறைப்பட்ட வலைப்படிவங்களின் அபிவிருத்தி மாதிரியைப் பயன்படுத்த வேண்டிய கட்டாயம் கிடையாது. குறிப்பிடதக்களவில் பணித்தளங்களுக்கான வடிவமைக்கப்பட்ட வரைச்சட்டங்களில் பின்வருவனவும் உள்ளடங்கும்:
பதிப்புகள்
பிற நிறுவுதல்கள்மோனோ திட்டம் என்பது ASP.NET 1.1-ம், பெரும்பாலான ASP.NET 2.0-ம் ஒத்துழைக்கிறது.[19] ௶ குறிப்புகள்
குறிப்புதவிகள்
கூடுதல் வாசிப்பு
வெளி இணைப்புகள் |
Portal di Ensiklopedia Dunia