நேற்று விஷுவல் ஸ்டூடியோ 2003யில் ஒரு இணையத்தள மென்பொருளில் சில மாற்றங்கள் செய்து முடித்தேன். F5 கொடுத்ததும் Error while trying to run project: Unable to start debugging on the server என்ற காட்டிவிட்டு debug modeல் தொடங்க மறுத்தது.
முதலில் சில மணித்துளி கூக்ள் தேடல் மற்றும் மைக்ரோசாஃப்ட் MSDN வழியாகக் கூட எந்த தீர்வும் கிடைக்கவில்லை. பிறகு தீர்வு அகப்பட்டது.
இண்டர்நெட் இன்ஃபர்மேஷன் சர்வரில் HTTP Keep-Alives Enabledஆக இல்லாவிட்டால் இந்த ப்ரச்சனை வரும் என்று அறிய முடிந்தது.
இந்த பிழைச்செய்திக்குப் பற்பல காரணங்கள் இருக்கின்றன. ஆனாலும் என் நேற்றைய ப்ரச்சனைக்குத் தீர்வு HTTP Keep-Alives Enabled ஆப்ஷன் பெட்டியில் ஒரு டிக் அடித்ததுதான்.
இந்த unable to start debugging பிழைச்செய்திக்கு மைக்ரோசாஃப்ட் பரிந்துரைக்கும் இதர காரணங்கள்/தீர்வுகள் தொகுக்கப்பட்டு http://support.microsoft.com/kb/306172 என்ற சுட்டியில் இருக்கின்றன.
உள்ளமைக்கோப்பில் (கான்ஃபிகரேஷன் ஃபைல்) இயங்குச்சூழலுக்குத் தகுந்தாற்போல் மாற்றி பயன்படுத்தவேண்டிய விவரங்களை பண்பு/மதிப்பு (கீ/வேல்யூ) அடிப்படையில் சேமித்து வைத்து, System.Configuration.ConfigurationSettings.AppSettings மூலமாக இயங்குநேரத்தில் பெற்றுக்கொள்ளலாம். இப்படி பெறப்படும் மதிப்பு ஒரு துணைநிரலின் பெயரென்றால் அந்த துணைநிரலை அழைக்க வேண்டிய தேவை எனக்கு வந்தது.
அதாவது,
<
add
key="FunctionName" value="myfunction1" />
என்று உள்ளமைக்கோப்பில் இருந்தால், ஒரு குறிப்பிட்ட classல் இருக்கும் myfunction1 என்ற துணைநிரலை அழைக்கவேண்டும்.
மென்பொருள் மேம்பாட்டுப் நிறுவல் ஒன்றில் தகவல்தள மாற்றங்கள் சில செய்யவேண்டியதால் இப்படிச் ஒரு முறையைக் கையாள வேண்டி வந்தது. நிறுவுநிரலிலேயே பயனரிடமிருந்து தகவல்தள விவரங்களை வாங்கி இப்படியான மாற்றங்களைச் செய்யலாம்தான். ஆனால் இந்த குறிப்பிட்ட மென்பொருள் பல தகவல் தளங்களைப் பயன்படுத்தும் சாத்தியமுடையது. ஒவ்வொரு சமயமும் ஒவ்வொரு தகவல் தளத்துடன் தொடர்பு ஏற்படுத்தி இயங்கும் நிரலாதலால், அத்தனை தகவல்தளங்களைப் பற்றிய விவரங்களும் ஒரே நேரத்தில் பயனரிடமிருந்து வாங்குவது சற்று சுற்றுவேலை.
இயங்குநேரத்தில் துணைநிரலின் பெயர் என்று யோசித்ததுமே நினைவுக்கு வருவது delegates. ஆனால் டெலிகேட்ஸ்...