এমভিসি 5 প্রকল্প এবং ওয়েব এপিআই প্রকল্পের মধ্যে পার্থক্য


135

আমি এএসপি.এনইটি এমভিসি এবং ওয়েব এপিআইতে নতুন এবং বেসিকগুলি পাওয়ার চেষ্টা করছি। আমি যতদূর জানি, আমরা বনাম 2013 সালে প্রকল্পের টেমপ্লেট নামকরণ আছে MVC, Web APIএবং Both of them together

আমি টিউটোরিয়ালগুলি দিয়ে গিয়েছি এবং শিখেছি যে আমরা একা এমভিসি পাশাপাশি ওয়েব এপিআই টেম্পলেট ব্যবহার করে একটি API তৈরি করতে পারি।

সুতরাং, আর্কিটেকচার এবং ব্যবহারের ভিত্তিতে এইগুলির মধ্যে পার্থক্যগুলি কী ?

উত্তর:


182

মূলত, একটি Web APIনিয়ামক একটি MVCনিয়ামক, যা HttpMessageResponseপরিবর্তে এর প্রতিক্রিয়ার বেস টাইপ হিসাবে ব্যবহার করে ActionResponse। অন্যান্য ক্ষেত্রেও এগুলি একই রকম। প্রকল্পের প্রকারের মধ্যে প্রধান পার্থক্য হ'ল MVC Applicationপ্রকল্পের ধরণটি ওয়েব নির্দিষ্ট জিনিসের মতো ডিফল্ট CSS, JavaScriptফাইল এবং কোনও ওয়েব সাইটের জন্য প্রয়োজনীয় অন্যান্য সংস্থান হিসাবে যুক্ত করে, যা কোনও এপিআইয়ের জন্য প্রয়োজন হয় না।

এমভিসি ওয়েব সাইটগুলি তৈরি করার জন্য ব্যবহৃত হয়। এক্ষেত্রে Controllersসাধারণত Viewব্রাউজারের অনুরোধগুলিতে একটি (অর্থাত্ এইচটিএমএল প্রতিক্রিয়া) ফেরত দিন । অন্যদিকে ওয়েব এপিআইগুলি সাধারণত অন্যান্য অ্যাপ্লিকেশন দ্বারা গ্রাস করা হয়। আপনি যদি অন্য অ্যাপ্লিকেশনগুলিকে আপনার ডেটা / কার্যকারিতা অ্যাক্সেস করার অনুমতি দিতে চান তবে আপনি এই অ্যাক্সেসটির সুবিধার্থে একটি ওয়েব এপিআই তৈরি করতে পারেন। উদাহরণস্বরূপ, অ্যাপ্লিকেশন বিকাশকারীদের অ্যাপ ব্যবহারকারীর সম্পর্কে তথ্য অ্যাক্সেস করার অনুমতি দেওয়ার জন্য ফেসবুকের একটি এপিআই রয়েছে। ওয়েব API গুলি জনসাধারণের জন্য ব্যবহারের জন্য হবে না। আপনি নিজের অ্যাপ্লিকেশন সমর্থন করার জন্য একটি এপিআইও তৈরি করতে পারেন। উদাহরণস্বরূপ, আমরা আমাদের এমভিসি ওয়েব সাইটের অ্যাজেএক্স কার্যকারিতা সমর্থন করার জন্য একটি ওয়েব এপিআই তৈরি করেছি।

মাইক্রোসফ্ট তারা বিভিন্ন টেম্পলেট উপস্থাপনের পদ্ধতি পরিবর্তন করেছে। এখন বিভিন্ন প্রকল্পের ধরণের জন্য বিভিন্ন টেম্পলেট ব্যবহার করার পরিবর্তে তারা বিকাশকারীদের প্রয়োজনীয় হিসাবে একই প্রকল্পের মধ্যে এএসপি.এনইটি প্রযুক্তি মিশ্রিত করতে উত্সাহিত করে। মাইক্রোসফ্ট এটিকে কল করে vNext

আপডেট: এএসপি.নেট কোরের জন্য, ওয়েব এপিআই এমভিসি 6 প্রকল্পের ধরণের ApiControllerমধ্যে সংহত করা হয়েছে এবং Controllerক্লাসটি শ্রেণিতে সংহত করা হয়েছে । আরও বিশদ এখানে: https://wildermuth.com/2016/05/10/Writing-API- নিয়ন্ত্রক- ইন- এএসপি- নেট- এমভিসি 6


1
ধন্যবাদ এলাদ আমি এটি পেয়েছি। আপনি আপনার উত্তরগুলিতে সম্পাদনা করতে এবং Asp.net পরিচয় এবং ওয়েব এপিআই 2 সম্পর্কে কিছু যুক্ত করতে পারেন 2 কেবল কিছু কীভাবে সেগুলি ব্যবহৃত হবে এবং কিছু উপকার করতে পারেন।
লুপ

সুতরাং, কোনওভাবেই আমি ডেকটপ অ্যাপ থেকে কোনও নিয়ামক পদক্ষেপ অ্যাক্সেস করতে পারি না। এমনকি যদি আমি ইউআরএল কল করতে উপযুক্ত জিইটি সিনট্যাক্স ব্যবহার করি?
অবিচ্ছেদ্য

70

আমার দুই সেন্ট...

  1. ইন ASP.Net MVC - MVC এর Controllerকি হওয়া উচিত সিদ্ধান্ত নেয় View- অর্থাত, নিয়ামক কি সিদ্ধান্ত নেয় ব্যবহারকারী "দেখুন" করা উচিত (বর্তমান পরিস্থিতি বা প্রসঙ্গ উপর ভিত্তি করে), যখন তারা একটি অনুরোধ করতে।
  2. ইন ASP.Net ওয়েব ফর্ম , ASPXপৃষ্ঠাগুলি কি সিদ্ধান্ত নেয় ব্যবহারকারী "দেখুন" উচিত যখন তারা একটি অনুরোধ করতে।
  3. তবে ওয়েব এপিআই-তে , কোনও অনুরোধ করার সময় ব্যবহারকারীর "দেখার" বিষয়টিকে নির্ধারণ করার জন্য ওয়েব এপিআইয়ের কোনও বৈশিষ্ট্যের কোনও নিয়ন্ত্রণ / ক্ষমতা নেই।

ওয়েব এপিআই শুধুমাত্র ওয়েবসাইটগুলির সাথে জড়িত কোনও প্রযুক্তি নয়। এটি একাধিক উদ্দেশ্যে ব্যবহার করা যেতে পারে - কেবল ওয়েবসাইট নয়। সুতরাং এটি এর অর্থ জানে নাrendering

আরও পড়া

  1. আজ ওয়েব সলিউশন পরিকল্পনা: ওয়েব ফর্ম, এএসপি.এনইটি এমভিসি, ওয়েব এপিআই, এবং ওউইউএন।
  2. ডাব্লুসিএফ বা এএসপি.নেট ওয়েব এপিআই? বিষয়টিতে আমার দুটি সেন্ট
  3. .NET - এর পরবর্তী জেনারেশন - এএসপি.এনইটি ভিএনেক্সট
  4. এএসপি.নেট এমভিসি 6 দিয়ে শুরু করা

ওয়েবএপিআই কেন বেশি পঠনযোগ্য তা তুলনামূলক কোডগুলি থেকে আমি বলতে পারি না। এছাড়াও, এটি দেখে মনে হচ্ছে সেখানে কিছু উল্টানো আছে, কারণ এটি ওয়েব এপিআই হ'ল এমন একটি এইচটিটিপি পদ্ধতি বৈশিষ্ট্য যেমন [এইচটিপিপিট] থাকার প্রত্যাশা করা হয়েছিল। কিছু WebAPI পরীক্ষা করুন (এবং WebAPI 2) কোড এখানে
Gobe থেকে

2
গৃহীত উত্তরে বলা হয়েছে "মূলত, একটি ওয়েব এপিআই নিয়ন্ত্রণকারী একটি এমভিসি নিয়ামক"। এটা সহজ ভুল। আউট পুরো আপনার উত্তর পয়েন্ট পয়েন্ট WebAPI যে এটা নয় MVC, এটা করেনা সব লাগেজ ও ওভারহেড সঙ্গে "দেখেছে" এবং "রেন্ডারিং" মোকাবেলার জন্য মোকাবেলা করতে হবে। ... এবং ওয়েবএপিআই নিয়ন্ত্রকদের এমনকি কেবল ওয়েব সাইটগুলির সাথে জোট বাঁধতে হবে না। খুব ভাল উত্তর - ধন্যবাদ!
ফোগিডে

0

এমভিসি নিয়ামক নিয়ামক শ্রেণি থেকে প্রাপ্ত। এমভিসিতে আপনি ভিউগুলি ফিরে আসতে পারেন। এমভিসি অ্যাচিটেচার একটি অ্যাপ্লিকেশন তৈরি করতে ব্যবহার করে। তবে ওয়েব অ্যাপ্লিকেশন বিভিন্ন অ্যাপ্লিকেশন ডেটা সরবরাহ করতে ব্যবহৃত হয়।

ওয়েব এপিআই এপিআই কন্ট্রোলার থেকে চালিত হয় এবং এটি দর্শন ফিরে দেয় না।

দ্রষ্টব্য: আপনি এমভিসি কন্ট্রোলার থেকে ওয়েব এপিও তৈরি করতে পারেন তবে আপনাকে জসনআরসাল্ট বা অন্যান্য ওয়েব এপিআই সমর্থিত রিটার্নের ধরণের ফলাফল হিসাবে ফিরে আসতে হবে।


0

ইতিমধ্যে এখানে সরবরাহ করা উত্তরগুলি ছাড়াও এপি কন্ট্রোলারের উত্তরাধিকার সূত্রে প্রাপ্ত কোনও নিয়ামককে লক্ষ্য করা এবং এইচটিটিপি ক্রিয়াপদ পোস্টের সাথে কোনও ক্রিয়াকলাপ থাকার ক্ষেত্রে কেবল একটি [ফ্রমবিডি] ইনপুট প্যারামিটার থাকতে পারে। যদি কোনও এমভিসি কন্ট্রোলার ব্যবহার করে ('কন্ট্রোলার' থেকে প্রাপ্ত) আপনার অনেক পোস্ট ইনপুট প্যারামিটার থাকতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.