ASP.NET இல் தனிப்பயன் தலைப்புகளுடன் WCF சேவை அழைப்புகளை மேம்படுத்துதல்
தி WCF சேவைகளை ஒருங்கிணைக்கும் ASP.NET இணையப் பயன்பாடுகளுடன் பணிபுரியும் போது மற்றும் பிற தனிப்பயன் தலைப்புகள் அடிக்கடி சேவைக்கு வழங்கப்பட வேண்டும். ஒத்திசைவற்ற சேவை அழைப்புகளைச் செய்ய JavaScript ஐப் பயன்படுத்தும் போது, இந்த செயல்முறை கடினமாக இருக்கலாம்.
பொதுவாக, AJAX-இயக்கப்பட்ட சேவைகள் மூலம் WCF சேவைகளுடன் தொடர்புகொள்ள டெவலப்பர்களால் ஜாவாஸ்கிரிப்ட் பயன்படுத்தப்படுகிறது. சேவைகள் எளிமையான கோரிக்கைகளுக்குச் சரியாகச் செயல்பட்டாலும், தனிப்பயன் தலைப்புகளைச் சேர்க்கும்போது கூடுதல் கவனம் தேவை .
GetAjaxService() மற்றும் இதே போன்ற முறைகள் வழியாக இந்த தலைப்புகளை அனுப்ப முயற்சிக்கும் போது, சிக்கல் ஏற்படுகிறது. GetUsers() இல் இயல்புநிலையாக தனிப்பயன் தலைப்புகள் ஆதரிக்கப்படாது. get() அல்லது XMLHttpRequest போன்ற பிற முறைகளில் தலைப்புகளைச் சேர்ப்பது எளிமையானது என்றாலும், ஏற்கனவே உள்ள கட்டமைப்பிற்குள் இதை எவ்வாறு நிறைவேற்றுவது என்பது பற்றி விவாதிக்க வேண்டியது அவசியம்.
WCF சேவைக்கான AJAX வினவல்கள் தனிப்பயன் தலைப்புகளைச் சேர்க்கும் வகையில், தற்போதைய சேவை அழைப்பை மாற்றும் செயல்முறையின் மூலம் இந்தப் பயிற்சி உங்களை வழிநடத்தும். போன்ற முக்கியமான தரவு , இந்த நுட்பத்திற்கு நன்றி சரியாக அனுப்பப்பட்டது.
கட்டளை | பயன்பாட்டின் உதாரணம் |
---|---|
setRequestHeader() | இந்த முறையைப் பயன்படுத்தி ஒரு HTTP கோரிக்கை தலைப்பின் மதிப்பை அமைக்கலாம். இந்த வழக்கில், விருப்பத்தை வழங்க XMLHttpRequest பயன்படுத்தப்படுகிறது WCF சேவைக்கான தலைப்பு. |
navigator.userAgent | உலாவியின் பயனர் முகவர் சரத்தைப் பெறுகிறது. பயனரின் இயக்க முறைமை, சாதனம் மற்றும் உலாவியைத் தீர்மானிக்க இது அடிக்கடி பயன்படுத்தப்படுகிறது, இது பதிவு அல்லது மேம்படுத்தல் காரணங்களுக்காக உதவியாக இருக்கும். |
$.ajax() | இந்த jQuery செயல்பாட்டைப் பயன்படுத்தி, ஒத்திசைவற்ற HTTP கோரிக்கைகளை உருவாக்கலாம். WCF சேவையை அழைக்கவும் மற்றும் தனிப்பயன் தலைப்புகளை சமர்ப்பிக்கவும் இந்த எடுத்துக்காட்டில் பயன்படுத்தப்படுகிறது . |
HttpContext.Current.Request.Headers | சேவையக பக்கத்தில் உள்ள கோரிக்கையின் தலைப்புகளுக்கான அணுகலைப் பெற ASP.NET ஆல் பயன்படுத்தப்படுகிறது. பிரித்தெடுப்பதற்கு இது முக்கியமானது WCF சேவை முறையில் தலைப்பு. |
ServiceBehavior | சேவையகப் பக்கத்தில் உள்ள கோரிக்கையின் தலைப்புகளுக்கான அணுகலைப் பெற ASP.NET ஆல் பயன்படுத்தப்படுகிறது. பிரித்தெடுக்க இது முக்கியமானது WCF சேவை முறையில் தலைப்பு. |
OperationContract | இந்த சொத்து WCF சேவை முறையை வாடிக்கையாளர்கள் அழைக்கக்கூடிய ஒன்றாக அடையாளப்படுத்துகிறது. இந்தக் கட்டுரை அதை GetUsers முறைக்குப் பயன்படுத்துகிறது, இதனால் கிளையன்ட் பக்க JavaScript அதை அணுக முடியும். |
HttpRequestMessage | யூனிட் சோதனையில் WCF சேவைக்கான கோரிக்கையை உருவாக்க, HttpRequestMessage ஐப் பயன்படுத்தவும். இது போன்ற தனிப்பயன் தலைப்புகளைச் சேர்க்க உங்களை அனுமதிக்கிறது , சோதனை காட்சிகளுக்கு. |
Assert.IsTrue() | இந்த C# அலகு சோதனை கட்டளை ஒரு நிபந்தனை உண்மையா என சரிபார்க்கிறது. இங்கே, தனிப்பயன் தலைப்புகள் அனுப்பப்படுவதைச் சோதிக்கும் போது, WCF சேவையின் HTTP பதில் வெற்றிகரமாக உள்ளது என்பதைச் சரிபார்க்க இது பயன்படுத்தப்படுகிறது. |
WCF சேவைக்கு பயனர் முகவர் தலைப்பை அனுப்ப ASP.NET இல் JavaScript ஐ எவ்வாறு பயன்படுத்துவது
மேலே குறிப்பிட்டுள்ள ஸ்கிரிப்ட்கள், AJAX-இயக்கப்பட்ட WCF சேவை அழைப்புகளை உருவாக்கும் ASP.NET பயன்பாடுகளில் தனிப்பயன் தலைப்புகளை எவ்வாறு அனுப்புவது என்பதைக் காட்டுகிறது. . முதல் எடுத்துக்காட்டில், தி பயனர் முகவர் தலைப்பைப் பயன்படுத்தி கைமுறையாக அமைக்கப்பட்டுள்ளது முறை. சாதாரண AJAX சேவை அழைப்புகளில் முன்னிருப்பாக இந்த தலைப்பு சேர்க்கப்படாது என்பதால் இது தேவைப்படுகிறது. WCF சேவைக்கு HTTP கோரிக்கையை அனுப்பும் முன், அதில் தனிப்பயன் தலைப்புகளைச் சேர்க்கலாம் . இங்கே, உலாவியின் பயனர் முகவர் சரம் மீட்டெடுக்கப்பட்டு சேவையகத்திற்கு அனுப்பப்படுகிறது navigator.userAgent.
இரண்டாவது ஸ்கிரிப்ட் பயன்படுத்துவதன் மூலம் அதே இலக்கை அடைகிறது . jQuery ஐப் பயன்படுத்துவது ஒத்திசைவற்ற HTTP கோரிக்கைகளை எளிதாக்குகிறது, மேலும் நாங்கள் வழங்க முடியும் கோரிக்கை அமைப்புகளில் தனிப்பயன் தலைப்பைப் பயன்படுத்தி WCF சேவைக்கு. jQuery இன் குறுகிய தொடரியல் மற்றும் பிழை கையாளுதல் அம்சங்கள் கோரிக்கை வெற்றி மற்றும் தோல்வியை எளிதாக கையாள டெவலப்பர்களுக்கு சாதகமாக உள்ளது. சர்வர் பக்க WCF சேவை தேவையானதைப் பெறுவதை உறுதி செய்தல் செயலாக்கம் மற்றும் அறிக்கையிடல் இரண்டு நிகழ்வுகளிலும் குறிக்கோள் ஆகும்.
பின்தளத்தில் WCF சேவையை மாற்றியமைக்கப் பயன்படுகிறது, இதனால் உள்வரும் கோரிக்கை தலைப்புகளைப் படிக்கலாம். இது சேவையைப் பயன்படுத்த உதவுகிறது பகுப்பாய்வு, சரிபார்ப்பு மற்றும் பிற பயன்பாடுகளைப் பிரித்தெடுத்த பிறகு தேவைப்படும். இந்த அம்சத்தைச் சேர்ப்பது, கிளையன்ட் தகவல் போன்ற முக்கியமான மெட்டாடேட்டா, சேவையின் வழக்கமான செயல்பாட்டில் குறுக்கிடாமல் சேவை அழைப்பு முழுவதும் தொடர்ந்து இருக்கும் என்பதற்கு உத்தரவாதம் அளிக்கிறது. பயன்படுத்துவதன் மூலம் அளவிடுதல் மேம்படுத்தப்படுகிறது , சேவையின் பல நிகழ்வுகள் ஒரே நேரத்தில் கோரிக்கைகளை கையாள முடியும் என்பதற்கு இது உத்தரவாதம் அளிக்கிறது.
இறுதியாக, அ என்பதை சரிபார்க்கிறது தலைப்பு WCF சேவையால் சரியான முறையில் பெறப்பட்டு செயலாக்கப்படுகிறது. தனிப்பயனாக்கப்பட்ட ஒரு HTTP கோரிக்கையை அனுப்புவதன் மூலம் சேவை வெற்றிகரமாக பதிலளிக்கிறதா என்பதை இந்த சோதனை தீர்மானிக்கிறது பயனர் முகவர். உலாவிகள் மற்றும் கிளையன்ட்கள் முழுவதும் இந்தச் சேவை செயல்படுவதை உறுதிசெய்ய, பல்வேறு சூழல்களில் இந்தச் சோதனைகளை நடைமுறைப்படுத்துவது அவசியம். இந்த ஸ்கிரிப்டுகள் அடிப்படையில் ஒவ்வொரு கோரிக்கையிலும் தேவையான தலைப்புகளை வழங்குகின்றன, கிளையன்ட் பக்க ஜாவாஸ்கிரிப்ட் மற்றும் WCF சேவைக்கு இடையே சரியான மற்றும் பாதுகாப்பான தகவல்தொடர்புகளை உறுதி செய்கிறது.
ASP.NET இல் WCF சேவைக்கு பயனர் முகவர் தலைப்பை அனுப்புவதற்கான பல்வேறு முறைகள்
இந்த ஸ்கிரிப்ட் மாற்றியமைக்கப்பட்ட பயனர் முகவர் தலைப்பைப் பயன்படுத்தி WCF சேவையை அழைக்கிறது மற்றும் .
// JavaScript - Using XMLHttpRequest to pass User-Agent header
function GetUsersWithHeaders() {
var xhr = new XMLHttpRequest();
xhr.open("POST", "AjaxWebService.svc/GetUsers", true);
xhr.setRequestHeader("User-Agent", navigator.userAgent);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
var result = JSON.parse(xhr.responseText);
if (result !== null) {
console.log(result); // Process result
}
}
};
xhr.send();
}
WCF சேவை அழைப்பில் பயனர் முகவர் தலைப்பைச் சேர்க்க jQuery ஐப் பயன்படுத்துதல்
AJAX அழைப்பின் போது WCF சேவைக்கு தனிப்பயனாக்கப்பட்ட பயனர் முகவர் தலைப்பை எவ்வாறு வழங்குவது என்பதை இந்த நுட்பம் காட்டுகிறது. .
// JavaScript - Using jQuery.ajax to pass User-Agent header
function GetUsersWithJQuery() {
$.ajax({
url: 'AjaxWebService.svc/GetUsers',
type: 'POST',
headers: {
'User-Agent': navigator.userAgent
},
success: function(result) {
if (result !== null) {
console.log(result); // Process result
}
},
error: function() {
alert('Error while calling service');
}
});
}
ASP.NET பின்தளம்: தனிப்பயன் தலைப்புகளைக் கையாள WCF சேவையை மாற்றியமைத்தல்
பின் வரும் ஸ்கிரிப்ட் WCF சேவை பின்தளத்தை எவ்வாறு மாற்றுவது என்பதை விளக்குகிறது, இதனால் அது தனித்துவத்தைப் படிக்கலாம் முன்பகுதியில் இருந்து வழங்கப்படும் தலைப்பு.
// ASP.NET C# - Modify WCF service to read User-Agent header
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Multiple)]
[ServiceContract(Namespace = "", SessionMode = SessionMode.Allowed)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class AjaxWebService
{
[OperationContract]
public UsersData[] GetUsers()
{
var userAgent = HttpContext.Current.Request.Headers["User-Agent"];
if (string.IsNullOrEmpty(userAgent))
{
throw new InvalidOperationException("User-Agent header is missing");
}
return this.Service.GetUsers(); // Call WCF service API
}
}
தனிப்பயன் தலைப்புகளுடன் WCF சேவை அழைப்பைச் சோதிக்கும் அலகு
என்பதை சரிபார்க்கும் வகையில் தி தலைப்பு பல்வேறு அமைப்புகளில் சரியான முறையில் அனுப்பப்படுகிறது, இந்த ஸ்கிரிப்ட் ஒரு நேரடியானதை வழங்குகிறது .
// Unit Test - Testing WCF service with custom headers
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Net.Http;
using System.Threading.Tasks;
using System.Web.Http;
namespace AjaxWebService.Tests
{
[TestClass]
public class AjaxWebServiceTests
{
[TestMethod]
public async Task TestGetUsersWithUserAgentHeader()
{
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "AjaxWebService.svc/GetUsers");
request.Headers.Add("User-Agent", "TestAgent");
var response = await client.SendAsync(request);
Assert.IsTrue(response.IsSuccessStatusCode);
}
}
}
AJAX உடன் WCF சேவையில் தனிப்பயன் தலைப்புகளைக் கையாளுதல்
ஒத்திசைவற்ற ஜாவாஸ்கிரிப்ட் கோரிக்கைகளின் போது தனிப்பயன் HTTP தலைப்புகளை ஆதரிக்கும் திறன் WCF சேவைகளுடன் பணிபுரிவதில் ஒரு முக்கிய அங்கமாகும். விண்ணப்பம். நீங்கள் WCF சேவையின் சிறப்பு கிளையன்ட் அடையாளங்கள் அல்லது அங்கீகார டோக்கன்கள் போன்ற தலைப்புகளுக்கு கூடுதலாக அனுப்ப வேண்டியிருக்கலாம் . கிளையன்ட் மற்றும் சர்வர் இடையே பாதுகாப்பான மற்றும் சூழல் சார்ந்த தொடர்பு தனிப்பயன் தலைப்புகளால் எளிதாக்கப்படுகிறது.
சேவை சார்ந்திருக்கும் சந்தர்ப்பங்களில் அஜாக்ஸ் கோரிக்கையைத் தனிப்பயனாக்குவதன் மூலம் இதைச் செய்யலாம் உலாவி-குறிப்பிட்ட பண்புகளுக்கு. அத்தகைய தலைப்புகளை அனுப்புவதற்கு, மற்றும் இரண்டும் தேவையான நெகிழ்வுத்தன்மையை வழங்குகின்றன. பிளாட்ஃபார்ம், பதிப்பு அல்லது பாதுகாப்புச் சூழல் போன்ற கிளையன்ட் பண்புக்கூறுகளின்படி நடத்தையை ஒழுங்குபடுத்துவதற்காக WCF சேவைக்குத் தேவையான எந்த தலைப்பையும் சேர்க்க இந்த முறையை விரிவாக்கலாம்.
இந்த தலைப்புகளை பாதுகாப்பாக கையாள்வது மற்றொரு முக்கியமான காரணியாகும். எடுத்துக்காட்டாக, முக்கியமான தரவு வழங்கப்பட்டால், டோக்கன் அடிப்படையிலான அங்கீகார தலைப்புகள் அல்லது குறியாக்கத்தைப் பயன்படுத்துவது அவசியம். WCF சேவையானது தவறான அல்லது விடுபட்ட தலைப்புகளுடன் கூடிய கோரிக்கைகளை மரியாதையான முறையில் கையாள்கிறது என்பதற்கு உத்திரவாதம் அளிக்க, பொருத்தமான பிழை கையாளும் முறைகளை வைத்திருப்பது அவசியம். கடைசியாக ஆனால் குறைந்தது அல்ல, அதிகபட்ச செயல்திறன் மற்றும் குறுக்கு உலாவி இணக்கத்தன்மைக்கு, பல்வேறு சூழ்நிலைகளில் தலைப்புகளை சோதிப்பது அவசியம்.
- XMLHttpRequest இல் தனிப்பயன் தலைப்புகளை எவ்வாறு சேர்ப்பது?
- இணைப்பை நிறுவிய பிறகு மற்றும் கோரிக்கையைச் சமர்ப்பிக்கும் முன், நீங்கள் தனிப்பயன் தலைப்புகளைச் சேர்க்கலாம் பயன்படுத்துவதன் மூலம் நுட்பம்.
- பயனர் முகவர் தலைப்பின் பங்கு என்ன?
- கிளையண்டின் உலாவி, சாதனம் மற்றும் இயக்க முறைமை அனைத்தும் இதில் வெளிப்படுத்தப்பட்டுள்ளன தலைப்பு, இது WCF சேவையை பதில்களைத் தனிப்பயனாக்க அல்லது தகவலைப் பதிவுசெய்ய உதவுகிறது.
- ஒரே AJAX அழைப்பில் பல தலைப்புகளை அனுப்ப முடியுமா?
- ஆம், நீங்கள் பல தனிப்பயன் தலைப்புகளைச் சேர்க்கலாம் அல்லது பயன்படுத்துவதன் மூலம் jQuery இல் அல்லது பயன்படுத்துவதன் மூலம் விருப்பம் setRequestHeader().
- WCF சேவையால் எதிர்பார்க்கப்பட்ட தலைப்புகள் பெறப்படாவிட்டால் என்ன நடக்கும்?
- WCF சேவையில் பிழை ஏற்படுவது அல்லது கோரிக்கையை தவறாக கையாளுவது சாத்தியமாகும். தலைப்புகள் எதுவும் விடுபடவில்லை அல்லது தவறாக இல்லை என்பதை உறுதிப்படுத்த, பொருத்தமான பிழை கையாளுதலைப் பயன்படுத்துவது முக்கியம்.
பொருத்தமான கிளையன்ட்-சர்வர் தொடர்பைப் பராமரிக்க, தனிப்பயன் தலைப்புகளை எவ்வாறு வழங்குவது என்பதைத் தெரிந்து கொள்ள வேண்டும் , JavaScript இலிருந்து WCF சேவையை அழைக்கும் போது. jQuery அல்லது XMLHttpRequest ஐப் பயன்படுத்தி டெவலப்பர்கள் இந்த தலைப்புகளை AJAX வினவல்களில் இணைப்பது எளிது.
கூடுதலாக, இந்த தலைப்புகளைப் படிக்கவும் பயன்படுத்தவும் WCF சேவையை அனுமதிப்பது பாதுகாப்பை மேம்படுத்துகிறது மற்றும் அதிக திறன் கொண்ட கோரிக்கை கையாளுதலை அனுமதிக்கிறது. இந்த நடைமுறையைப் பின்பற்றுவதன் மூலம், உங்கள் பயன்பாடு கிளையண்டின் உலாவி அல்லது சுற்றுச்சூழலைப் பொருட்படுத்தாமல் தொடர்ந்து இயங்குவதை உறுதிசெய்து, இணக்கத்தன்மையையும் செயல்திறனையும் அதிகரிக்கலாம்.
- பயன்படுத்துவதை விரிவாகக் கூறுகிறது WCF சேவைகளை ஒருங்கிணைக்க மற்றும் AJAX கோரிக்கைகள் மூலம் தனிப்பயன் தலைப்புகளை கையாளுதல். ஆதாரம்: மைக்ரோசாப்ட் WCF ஆவணம்
- எப்படி பயன்படுத்துவது என்பது பற்றிய விவரங்கள் மற்றும் பயனர் முகவர் போன்ற தனிப்பயன் HTTP தலைப்புகளை அனுப்புவதற்கு. ஆதாரம்: MDN வெப் டாக்ஸ்
- தனிப்பயன் தலைப்புகளைப் பிடிக்க மற்றும் செயலாக்க WCF சேவைகளை எவ்வாறு மாற்றுவது என்பது பற்றிய நுண்ணறிவுகளை வழங்குகிறது. ஆதாரம்: மைக்ரோசாப்ட் WCF செய்தி தலைப்புகள்