কোডফিল বনাম কোডবিহন্ড


138

একটি এএসপি.নেট ব্যবহারকারী নিয়ন্ত্রণের ঘোষণায় কোডফিল = "file.ascx.cs" এবং কোডবিহাইন্ড = "file.ascx.cs" এর মধ্যে পার্থক্য কী ?

একটি নতুন বা প্রস্তাবিত হয়? বা তাদের নির্দিষ্ট ব্যবহার আছে?

উত্তর:


163

কোডহাইন্ড : সংকলন করা দরকার ( এএসপি.নেট 1.1 মডেল)। সংকলিত বাইনারি ওয়েবসাইটের বিন ফোল্ডারে স্থাপন করা হয়। মোতায়েন করার আগে আপনাকে ভিজ্যুয়াল স্টুডিওতে একটি সংকলন করতে হবে। এটি যখন আপনি উত্স কোডটি সরল পাঠ হিসাবে দেখতে পারা যায় না এটি একটি ভাল মডেল। উদাহরণস্বরূপ কোনও গ্রাহকের কাছে বিতরণ করার সময় যার কাছে আপনার কোড সরবরাহ করার বাধ্যবাধকতা নেই।

কোডফাইল : আপনি স্থাপনার সমাধান সহ উত্স ফাইলটি সরবরাহ করেন। এএসপি.এনইটি ২.০ রানটাইম যখন প্রয়োজন হয় কোডটি সংকলন করে। সংকলিত ফাইলগুলি মাইক্রোসফট.নেট [। নেট সংস্করণ] \ অস্থায়ী এএসপি.এনইটি ফাইল।


2
সুতরাং, এর অর্থ কি এই যে বিকাশকারীকে ম্যানুয়ালি পৃষ্ঠা নির্দেশকের বৈশিষ্ট্যটি পরিবর্তন করতে হবে বা কোনও ওয়েব প্রকল্প তৈরি করার কোনও উপায় আছে যা কোডবেইন্ড বা কোডফাইলে নির্বাচন করে, ডিফল্টরূপে প্রতিবারই একটি নতুন ওয়েব পৃষ্ঠা যুক্ত করা হয়?
— ম্যাট ডাব্লু

38
কোডফাইলটিকে আমি যেভাবে দেখছি তা বোঝানো হচ্ছে একটি "ওয়েবসাইট" এবং "কোডবিহাইন্ড" ব্যবহার করার জন্য এটি একটি "ওয়েব অ্যাপ্লিকেশন প্রকল্প" এর জন্য সংকলিত হওয়া দরকার। সুতরাং একটি "ওয়েবসাইট" কে "ওয়েব অ্যাপ্লিকেশন প্রকল্প" এ রূপান্তর করার সময় আমাদের ম্যানুয়ালি সমস্ত কোড ফাইলের উপস্থিতি কোডবিহাইডে পরিবর্তন করতে হবে!
— নবগতিমাইন্ড

2
কোডফিলগুলি উন্নয়নের সময় দুর্দান্ত কারণ আপনি কেবল কোনও পৃষ্ঠা সংরক্ষণ এবং সতেজ করার পরে এবং আপনার প্রকল্পটি তৈরি না করেই পরিবর্তনগুলি পরীক্ষা করতে পারেন। আপনি যদি কোনও প্রোডাকশন সার্ভারে .cs এবং .vb ফাইল পোস্ট করতে পছন্দ না করেন তবে নেট 2+ কোডফাইলে সংকলন মডেল ফাইলগুলি বিকল্পভাবে "প্রকাশ" করতে পারেন। আপনি যখন আপনার প্রকল্পটি প্রকাশ করেন, আপনি কোডবিহিন্ডের মতো কার্যকরভাবে আপনার .aspx ফাইল এবং .cs / .vb ফাইলগুলিকে উভয়কেই ডিএলএলে পরিণত করতে "প্রাকম্পম্পাইল" বিকল্পগুলি নির্বাচন করতে পারেন।
— স্ক্রাদাম

1
যেমনটি রেনগ্যাডমাইন্ডটি ইঙ্গিত করেছে (এবং এটি প্রাপ্ত উপাখ্যানগুলি থেকে), আমি মনে করি যে প্রতিক্রিয়াটি এই চাপের জন্য সম্পাদনা করা উচিত যে কোডফাইল "ওয়েবসাইট" টাইপের সমাধানের সাথে গভীরভাবে সংযুক্ত রয়েছে যেখানে কোডবিহিন্ড "ওয়েব অ্যাপ্লিকেশন প্রকল্প" এর সাথে যুক্ত রয়েছে । দুর্ভাগ্যক্রমে আমার সম্পাদনা প্রত্যাখ্যান করা হয়েছে।
— ফ্রেঞ্চোন

3
কোডবিহ্যান্ডটি এসপি ১.১ এর সাথে সম্পর্কিত এবং কোডফিলটি এসপিএন ২.০ এর সাথে যুক্ত রয়েছে বলে কোডফাইল যখন নেই তখন কোডবাইন্ডের চেয়ে "উচ্চতর" এবং লিখিত হতে পারে (এবং আইএমএইচও এটি বিপরীত: ওয়েবসাইটগুলির চেয়ে ওয়েব অ্যাপ্লিকেশনগুলি আরও ভাল)
— ফ্রেঞ্চোন

5

কোডবাইন্ড ফাইলটি রান করার আগে সংকলন করা দরকার তবে এসআরসি-তে আমাদের সংকলন করতে হবে এবং তারপরে চালানো দরকার না কেবল ফাইলটি সংরক্ষণ করুন।


1
but in src- মানে but in the CodeFile?
— ডন

5

আমি ভিজ্যুয়াল স্টুডিও এক্সপ্রেস 2012 এ একটি অ্যাপ্লিকেশন প্রকল্পের সাথে ওয়েবে এবং নেট নেট ব্যবহার করছি working আমার লগইন এবং পাসওয়ার্ডের পৃষ্ঠাগুলি পরিবর্তন করার জন্য ফাইলগুলির পিছনে কোডে আমি এমন একটি পরিস্থিতি পেয়েছি যেখানে ঘোষণায় আমার কোডবিহাইন্ড এবং কোডফিল উভয়ই প্রয়োজন।

আমি যদি কোনও কোড ফাইল রেফারেন্স যুক্ত না করি

CodeFile=login.aspx.cs

ওয়েব পৃষ্ঠাটি বিশ্লেষণ করে না এবং ব্রাউজারটি পার্সার ত্রুটি প্রদর্শন করে। আমি প্রকল্পটি সংকলন করি কিনা তা বিবেচ্য নয়।

আমি যদি রেফারেন্সের পিছনে কোনও কোড যুক্ত না করি

CodeBehind=login.aspx.cs

মেম্বারশিপ ব্যবহারকারীদের মতো সুরক্ষা ক্লাসের উল্লেখগুলি সংকলনের সময় এবং "টাইপ বা নেমস্পেস মেম্বারশিপ ব্যবহারকারীটি খুঁজে পাওয়া যায় না" এর মতো একটি ত্রুটি দিয়ে ইন্টিলিজেন্স ব্যবহার করার চেষ্টা করার সময় উভয় ক্ষেত্রেই ব্যর্থ হয়। । নেট 4.0 ফ্রেমওয়ার্কের প্রয়োজন অনুসারে আমি সিস্টেম.ওয়েব.এপ্লিকেশন সার্ভিসগুলিতে একটি রেফারেন্স যুক্ত করেছি।

আমার যুক্ত করা উচিত যে এই সমস্যাযুক্ত ফাইলগুলি আইআইএস অ্যাপ্লিকেশন সরঞ্জামটি ব্যবহার করে তৈরি করা ওয়েবসাইটের মধ্যে একটি অ্যাপ্লিকেশনটিতে চলছে। আমি যখন ভিজ্যুয়াল স্টুডিও থেকে ওয়েবসাইটটি খুলি তখন পার্সার ত্রুটি বা রেফারেন্স ত্রুটি নিয়ে আমার কোনও অসুবিধা নেই। এই বিভ্রান্তিটি তখনই ঘটে যখন আমি ভিজ্যুয়াল স্টুডিওতে একটি প্রকল্প হিসাবে অ্যাপ্লিকেশনটি খুলি।


1
আমি জানি তুমি কী বোঝো এবং এটি ডাউন ডাউনের প্রাপ্য, তবে আমি এই মুহূর্তে এই সমস্যাটির সাথে সত্যই লড়াই করছি। আমার অসুবিধাগুলি এই পার্থক্য থেকে আসে না তবে অন্য কিছু থেকে আসে। তবে স্বীকৃত উত্তরটি প্রশ্নের উত্তর দিলেও, এটি আমার ব্যবহারিক সমস্যার সাথে সহায়তা করে না। সম্ভবত আমার একটি নতুন প্রশ্ন খোলার উচিত।
— ডেভিডহ্যোগো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.