এএসপি.নেট এমভিসি 4 এ "ওয়েব এপিআই" ঠিক কী?


15

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


3
আপনি কি নতুন ওয়েব এপিআই কাঠামোর কথা বলছেন ? এটি এমভিসি থেকে পৃথক। যদি আপনি যা বোঝাতে চাইছেন তবে রিক স্ট্রাহেলের এই ব্লগ পোস্টটি একবার দেখুন ।
ওডে

1
@ ওজেড: আপনার এটি উত্তর হিসাবে দেওয়া উচিত।
জেমস পি। রাইট

ওয়েব এপিআই সম্পর্কে দুর্দান্ত জিনিস (যা আমি গৃহীত উত্তর বা উপরের লিঙ্কটিতে কোথাও তালিকাভুক্ত দেখতে পাচ্ছি না) হ'ল আপনি যদি কোনও আইকোয়ারিযোগ্য <> ফেরান তবে আপনার ওয়েব পদ্ধতিগুলি স্বয়ংক্রিয়ভাবে ওডাটা কোয়েরি সিনট্যাক্সকে সমর্থন করে! - সাধারণ এএসপি.নেট 4.5 স্ট্যাকের "ওয়েব এপিআই" এবং "সিগন্যালআর" ডাব্লুসিএফকে "প্রতিস্থাপন" করছে (সেগুলি ডাব্লুসিএফের শীর্ষে নির্মিত কিনা তা সম্পর্কে আমি নিশ্চিত নই, তবে ডব্লিউসিএফ সমস্ত ব্লক চিত্র থেকে সরানো হয়েছে এবং প্রতিস্থাপন করা হয়েছে "ওয়েব এপিআই" এবং "সিগন্যালআর") সহ।
BrainSlugs83

Why can't I just write my own API?কেবল নিয়মিত এএসপি.নেট এমভিসি দিয়ে? আপনি পারেন। এএসপি.নেট এমভিসি ওয়েব এপিআই এটি আরও সহজ করার জন্য আপনাকে অতিরিক্ত অতিরিক্ত জিনিস দেয়। দয়া করে নীচে দেখুন.
জিম জি।

উত্তর:


16

আরএসটি বা আরপিসি নির্বিশেষে এইচটিটিপি পরিষেবা তৈরির জন্য এএসপি.নেট ওয়েব এপিআই একটি "অ-মতামতযুক্ত" কাঠামো । এটি মাইক্রোসফ্টের আরএফসি 2616 (এইচটিটিপি স্পেক) এর সর্বোত্তম বাস্তবায়ন।

অবশ্যই আপনি নিজের API তৈরি করতে পারেন তবে এএসপি.নেট ওয়েব এপিআই:

  • রাশিয়ান ডল মডেলের উপর ভিত্তি করে নির্মিত যা এইচটিটিপি পাইপলাইনে লেগো-জাতীয় মডিউল যুক্ত করার অনুমতি দেয়
  • এইচটিটিপি প্রথম শ্রেণীর নাগরিক করে তোলে যাতে সমস্ত সাধারণ শিরোনাম দৃ strongly়ভাবে টাইপ করা হয় (কেবল নামের মান নয়) এবং তাদের পার্সিংয়ে সহায়তা করে
  • এএসপি.এনইটি (আইআইএস) হোস্টিং বা স্ব-হোস্টিং উভয়ের পক্ষে অনুমতি দেয়
  • বিষয়বস্তু আলোচনা, মিডিয়া ধরণের, ... সমর্থন করে
  • শীর্ষ থেকে নীচে অ্যাসিঙ্ক হয়
  • এইচটিটিপিসিলেট সহ ক্লায়েন্টদের জন্য অনুরূপ পন্থা ব্যবহার করে

6

মাইক্রোসফ্ট থেকে নতুন ওয়েব এপিআই হ'ল, এর নামটি এমন রিভিশনে একটি বাঁক দিয়ে ওয়েব অ্যাক্সেসযোগ্য এমন এপিআই লেখার বিষয়ে পরামর্শ দেয়।

রিক স্ট্রহল সম্প্রতি এটি সম্পর্কে ব্লগ করেছেন এবং এমভিসি বনাম ওয়েব এপিআই কখন ব্যবহার করবেন সে সম্পর্কে একটি ভাল বিশ্লেষণ রয়েছে।

বিষয়বস্তু আলোচনায় অন্তর্নির্মিত, কয়েকটি বিল্ট ফর্ম্যাট এবং আরও অনেক কিছুর মতো বিষয়।


6

সংক্ষেপে: এএসপি.এনইটি ওয়েব এপিআইআরটি .NET- এ REST কে প্রথম শ্রেণির নাগরিক তৈরি করছে , যা ডাব্লুসিএফ সত্যই আলিঙ্গন করতে সক্ষম ছিল না। আপনি জানেন যে, এএসপি.নেট ওয়েব এপিআইfor building web APIs । নেট ফ্রেমওয়ার্কের শীর্ষে একটি কাঠামো ।

ওয়েব বিকাশকারী হিসাবে আমাদের সবচেয়ে বড় হতাশার মধ্যে একটি ছিল ডাব্লুসিএফের সাথে অন্তহীন কনফিগারেশনের মুখোমুখি হওয়া। আমি বলতে চাইছি, ডাব্লুসিএফ দুর্দান্ত তবে ডাব্লুসিএফ ওয়েব এপিআই কাঠামো থেকে আরআরএসটি গ্রহণ করা হয়নি । আরইএসটি স্টার্টার কিট নামে কিছু ছিল তবে এটি শেষ পর্যন্ত মারা গেল।

তবে, এএসপি.নেট ওয়েব এপিআই হ'ল একটি পরবর্তী প্রজন্মের কাঠামো যা HTTP পরিষেবাগুলি তৈরি করা সহজ করে যা ব্রাউজার এবং মোবাইল ডিভাইসের মতো ক্লায়েন্টের বিস্তৃত পরিসরে পৌঁছে। এটি নেট ফ্রেমওয়ার্কে রেস্টস্টুল অ্যাপ্লিকেশন তৈরির জন্য একটি আদর্শ প্ল্যাটফর্ম। আরও তথ্য এবং দুর্দান্ত ব্লগ পোস্টের জন্য, এএসপি.নেট ওয়েব এপিআই ব্লগার পৃষ্ঠা দেখুন


1
আপনি যদি ওয়েব এপিআইয়ের ইতিহাস গবেষণা করেন তবে এটি ডাব্লুসিএফ থেকে শুরু হয়েছিল।
SASS_Shooter

ঠিক আছে, এটি কনফিগারেশন এবং অ্যাপ্লিকেশন বিকাশকে সহজ করার জন্য গুরুত্বপূর্ণ বৈশিষ্ট্যগুলির সাথে এটির একটি হালকা ওজনের প্রতিস্থাপন।
ইউসুবভ 4'13

@ ইউসোবভ: এটি মোটেও সত্য নয় - ডাব্লুসিএফ ডেটা সার্ভিসেসও রয়েছে যা ওডাটা-সামঞ্জস্যপূর্ণ আরআরইএসপি এপিএস তৈরিতে বেশ ভাল। আমি এটি একটি উত্পাদন পরিবেশে ব্যবহার করছি এবং এটি সেট আপ হয়ে গেলে এটি সত্যই ভাল কাজ করে। এটির সাথে একমাত্র সমস্যা হ'ল একটি এএসপি.নেট ওয়েব এপিআই এর চেয়ে সেটআপ করা অনেক কঠিন।
অ্যাড্রিয়ান গ্রিগোর

1

এএসপি.নেট ওয়েব এপিআই একটি ফ্রেমওয়ার্ক যা ব্রাউজার এবং মোবাইল ডিভাইস সহ ক্লায়েন্টের বিস্তৃত পরিসরে পৌঁছে এমন HTTP পরিষেবাগুলি তৈরি করা সহজ করে।

এএসপি.নেট ওয়েব এপিআইটি নেট নেট ফ্রেমওয়ার্কে RESTful অ্যাপ্লিকেশন তৈরির জন্য একটি আদর্শ প্ল্যাটফর্ম।

http://www.asp.net/web-api


সম্পাদনা করুন:

বিশেষত, এএসপি.নেট ওয়েব এপিআইয়ের মধ্যে রয়েছে:

  1. আপনি যদি আইআইএসে আপনার পরিষেবা হোস্ট করতে চান তবে হ্রাসযুক্ত ওভারহেড সহ একটি সুচিন্তিত এএসপি.এনইটি পাইপলাইন
  2. HTTPClient যা কোনও ক্লায়েন্টের পক্ষে ওয়েব এপিআইতে প্রবেশ করা সহজ করে easier

আমি নিজে এই জিনিসগুলি পড়তে পারি। আমার প্রশ্ন মুল্য কি? ওয়েব এপিআই ব্যবহার এবং নিয়মিত এমভিসি ব্যবহার করা কিন্তু ভিউরসাল্টসের পরিবর্তে জসনআরসাল্টস থাকা এত আলাদা কী?
জেমস পি রাইট রাইট

1. এমভিসি 4 এর আগে, আপনি কোনও সমস্যা ছাড়াই JSONResult ফেরত দিতে পারেন। এমভিসি 4 কেবল সেই ক্ষমতাটি ধরে রেখেছে, আরও সহজ করে তুলতে আরও কিছু সহায়ক শ্রেণীর অন্তর্ভুক্ত করে এবং ওএসহেড কমাতে ASP.NET পাইপলাইনটি স্ট্রিমলাইজ করে যখন আপনি জানেন যে আপনাকে ভিউরসাল্টগুলি ফেরত দিতে হবে না।
জিম জি।

1
এছাড়াও, যেহেতু এটি কার্যকরভাবে ডাব্লুসিএফ ওয়েব এপিআইয়ের জন্য একটি আপডেট, আপনি আইআইএস-এর সাথে বিবাহ বন্ধনে আবদ্ধ হন না। আপনি যদি পছন্দ করেন তবে আপনি একটি এএসপি.নেট ওয়েব এপিআই পরিষেবাটি স্ব-হোস্ট করতে পারেন। wcf.codeplex.com/…
জিম জি।

-2

আজ এটির গ্রাহকদের কাছে পৌঁছানোর জন্য একটি ওয়েব-ভিত্তিক অ্যাপ্লিকেশন যথেষ্ট নয়। লোকেরা খুব স্মার্ট, তারা এর দৈনন্দিন জীবনে আইফোন, মোবাইল, ট্যাবলেট ইত্যাদি ডিভাইস ব্যবহার করছে। জীবনকে সহজ করার জন্য এই ডিভাইসগুলিতে প্রচুর অ্যাপ রয়েছে। আসলে, আমরা ওয়েব থেকে অ্যাপস ওয়ার্ল্ডের দিকে এগিয়ে চলেছি। সুতরাং, আপনি যদি আপনার পরিষেবা ডেটা ব্রাউজারগুলিতে এবং সেইসাথে এই সমস্ত আধুনিক ডিভাইস অ্যাপ্লিকেশনগুলিকে দ্রুত এবং সাধারণ উপায়ে প্রকাশ করতে চান তবে আপনার এমন একটি এপিআই থাকা উচিত যা ব্রাউজার এবং এই সমস্ত ডিভাইসের সাথে সামঞ্জস্যপূর্ণ।


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