সার্ভিস স্ট্যাক বনাম এএসপি.নেট ওয়েব এপিআই [বন্ধ]


299

আমি একটি নতুন আরইএসটি স্টাইলের এপিআই লিখতে চাই এবং সার্ভিসস্ট্যাকটি দেখেছি এবং বেশ পছন্দ করেছি। তবে, আমি দেখেছি মাইক্রোসফ্ট নতুন এমভিসি 4 বিটার অংশ হিসাবে এএসপি.নেট ওয়েব এপিআই প্রকল্পটি প্রকাশ করেছে। নতুন ওয়েব এপিআই প্রকল্পের দিকে কি কেউ নজর দিয়েছে? আপনি কি প্রতিটি সিস্টেমের কোনও উপকার / ধারণা দিতে পারেন?

উত্তর:


389

তারা খুব অনুরূপ ব্যবহার-মামলা রয়েছে, যেমন লিড রক্ষণাবেক্ষণকারী ServiceStack প্রকল্পের আমি ServiceStack এর সুফল মধ্যে একটি ভাল অন্তর্দৃষ্টি এবং তার বার্তা ভিত্তিক নকশা অনেক প্রাকৃতিক সুবিধা

সার্ভিস স্ট্যাকটি ২০০৮ সাল থেকে একটি ওএসএস-চালিত প্রকল্প হিসাবে শুরু হয়েছে যখন থেকে ঘর্ষণমুক্ত দূরবর্তী পরিষেবাগুলির সঠিক নকশা এবং প্রয়োগের একক লক্ষ্য রয়েছে O

সহজ এবং মার্জিত নকশা

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

একটি বার্তা-ভিত্তিক নকশাকে গ্রহণ করা দূরবর্তী পরিষেবাগুলির জন্য উচ্চতর পদ্ধতির প্রস্তাব দেয়, এতে তারা আরও বর্ধিত এবং কম ভঙ্গুর পরিষেবাদি প্রচার করে, অ্যাক্সেস এবং কলিং নিদর্শনগুলিকে সহজতর করে এবং আপনি নিখরচায় পাওয়া অন্যান্য অনেক প্রাকৃতিক সুবিধা ধারণ করে

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

উদাহরণস্বরূপ আপনার IService<T>পরিষেবা বাস্তবায়ন স্বয়ংক্রিয় ওয়্যার্ড নির্ভরতা সহ কেবলমাত্র একটি স্ট্যান্ডার্ড সি # শ্রেণি। পাতলা এবং লাইটওয়েট র‍্যাপারগুলি মূল রান-টাইম IHttpRequest এবং IHttpResponse ধরণের চারপাশে একটি সামঞ্জস্যপূর্ণ এবং একীভূত API সরবরাহ করতে ব্যবহৃত হয় । তারা অন্তর্নিহিত এএসপি.নেট বা এইচটিপিপ্লিন্টারের অনুরোধ এবং প্রতিক্রিয়া ক্লাসগুলিতে অ্যাক্সেসের অনুমতি দেয় যাতে সার্ভিসস্ট্যাক ব্যবহার করার সময় আপনি কখনই নিষিদ্ধ হন।

ডাব্লুসিএফ এবং ওয়েবএপির সাথে বিপরীত

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

সেরা অভ্যাস দূরবর্তী পরিষেবা

সার্ভিস স্ট্যাকের সরলতা, পারফরম্যান্স এবং মার্টিন ফোলার্স রিমোট-সার্ভিস ডিজাইনের নিদর্শনগুলিকে যথাসম্ভব যথাসম্ভব আলিঙ্গন করার চারদিকে কেন্দ্রীভূত ওয়েব / রিমোট সার্ভিসের সেরা-অনুশীলনগুলিকে উত্সাহিত করার ক্ষেত্রে প্রাথমিক ফোকাস রয়েছে:

  • ছদ্মরূপ প্যাটার্ন - কোন batchful, অপকৃষ্টবুনান ইন্টারফেস ব্যবহার দাড়ায় যখন কখনও আপনি প্রক্রিয়া সীমানা জুড়ে যোগাযোগ।

  • DTO প্যাটার্ন ( দুটিই MSDN ) - বিশেষ উদ্দেশ্য Poços ব্যবহার dictating আপনার ওয়েব পরিষেবাগুলি প্রতিক্রিয়া টেলিগ্রাম বিন্যাস তৈরি করতে।

  • গেটওয়ে প্যাটার্ন ( দুটিই MSDN ) ক্লায়েন্ট গেটওয়ে / DTO মডেল এবং পরিষেবা ইন্টারফেস স্তরে মধ্যে আপনার ক্লায়েন্ট এবং সার্ভার যোগাযোগ encapsulate করতে।

এই নিদর্শনগুলি উদ্বেগের একটি পরিষ্কার বিচ্ছিন্নতা এবং একটি ঘর্ষণ মুক্ত পুনরাবৃত্তি ডেভির অভিজ্ঞতা নিশ্চিত করে।

আপনার পরিষেবা শক্তিশালী করা

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

এই সারকথা তোমার সাথে কি পেতে একটি ভাল উদাহরণ ServiceStack মধ্যে মাত্র 1 C # এর .cs বর্গ :

  • সমস্ত নিবন্ধিত ফর্ম্যাটগুলির জন্য মেটাডেটা পৃষ্ঠাগুলি
    • ডাব্লুএসডিএল, এক্সএসডি এবং সি # ক্লায়েন্টের উদাহরণগুলির সাথে লিঙ্ক রয়েছে
  • মানব বান্ধব এইচটিএমএল রিপোর্ট দর্শন
    • একটি একক স্ব-অন্তর্ভুক্ত এইচটিএমএল পৃষ্ঠা স্ন্যাপশট (যেমন কোনও বাহ্যিক রেফ নেই)। এম্বেড করা JSON ওয়েব পরিষেবা প্রতিক্রিয়া অন্তর্ভুক্ত - ডেটা স্ন্যাপশটগুলিতে প্রোগ্রামেটিক অ্যাক্সেসের অনুমতি দেয়।
  • অন্তর্নির্মিত মিনি প্রোফাইলার (দুর্দান্ত এমভিসি মিনি প্রোফাইলারের পোর্ট )
    • এসকিএল প্রোফাইলিং অন্তর্ভুক্ত
  • জেএসএন / জেএসএনপি, এক্সএমএল, জেএসভি, সিএসভি এবং এসওএপি শেষ-পয়েন্ট

রেস্টসেসব্যাস এবং সার্ভিসবেস ক্লাসগুলি আপনার সম্ভাব্য সর্বাধিক সম্ভাব্য পুনরায় ব্যবহারের জন্য সি # লজিককে হোস্ট করার উদ্দেশ্যে তৈরি করা হয়েছে, যেমন এর ডিটিও-প্রথম ডিজাইনটি তুচ্ছভাবে মুলতুবি এবং প্রক্সিড এক্সিকিউশনকে অনুমতি দেয় যেখানে আপনার একই সি # পরিষেবাটি এমকিউ হোস্টে হোস্ট এবং এক্সিকিউট করা যায় where আপনি যখন RedisMQ হোস্টেরIMessageService মতো একটি রেজিস্ট্রেশন করেন এবং আপনার পরিষেবাটি শেষ পয়েন্ট (যেমন সি # ক্লায়েন্টে) মাধ্যমে কল করেন তখন যা হয়/asynconewayclient.SendOneWay()

আপনি সহজেই এই base.ResolveService<T>()পদ্ধতিটি ব্যবহার করে সম্মিলিত পরিষেবাদি তৈরি করতে এবং তৈরি করতে পারেন যা নর্টওয়াইন্ড গ্রাহক বিবরণ পরিষেবা উদাহরণে দেখানো হিসাবে নির্বাচিত পরিষেবার একটি স্বয়ংক্রিয়-ওয়্যার্ড উদাহরণ দেয়:

var ordersService = base.ResolveService<OrdersService>();
var ordersResponse = (OrdersResponse)ordersService.Get(
    new Orders { CustomerId = customer.Id });

সরল সি # অবজেক্টগুলি ফিরিয়ে দিন

বেশিরভাগ অংশের জন্য সার্ভিস স্ট্যাক বেশিরভাগ সি # অবজেক্টকে প্রত্যাশা অনুযায়ী সিরিয়ালাইজ করবে - সম্ভাব্য রিটার্ন টাইপের একটি তালিকা এখানে ( এই উত্তর থেকে ):

  • যে কোনও ডিটিও অবজেক্ট -> প্রতিক্রিয়া কন্টেন্ট টাইপের জন্য সিরিয়ালযুক্ত
  • কাস্টমাইজড এইচটিটিপি প্রতিক্রিয়াটির জন্য এইচটিপিআরসাল্ট, এইচটিপিআরর, সংক্ষেপিত ফলাফল (আইএইচটিপিআরসাল্ট)

নিম্নলিখিত ধরণের রূপান্তরিত হয় না এবং সরাসরি প্রতিক্রিয়া স্ট্রিমে লিখিত হয়:

  • দড়ি
  • প্রবাহ
  • IStreamWriter
  • বাইট [] - অ্যাপ্লিকেশন / অকটেট-স্ট্রিম সামগ্রী প্রকারের সাথে।

কাস্টম এইচটিটিপি শিরোনাম সমর্থনের একটি উদাহরণ এই কর্স উদাহরণ দ্বারা দেখা যেতে পারে যেখানে আপনি বিশ্বব্যাপী বা প্রতি-পরিষেবা ভিত্তিতে HTTP শিরোনাম কনফিগার করতে পারেন।

এইচটিএমএল সমর্থন

সার্ভিস স্ট্যাকটিতে এইচটিএমএল ফিরিয়ে দেওয়ার জন্য একাধিক বিকল্প রয়েছে যা এখানে বিস্তারিতভাবে ব্যাখ্যা করা হয়েছে

.NET- র জন্য দ্রুততম পাঠ্য এবং বাইনারি সিরিয়ালাইজার অন্তর্ভুক্ত

প্রাণবন্ত এবং দ্রুত serializers দ্রুত প্রতিক্রিয়া বার এবং একটি versionable এপিআই যা বিদ্যমান ক্লায়েন্ট ভাঙে না যার কারণে ServiceStack অন্তর্ভুক্ত নিশ্চিত করার একটি API প্রাথমিক গুরুত্ব রয়েছে .NET সবচেয়ে দ্রুত টেক্সট serializers সক্ষম করার জন্য একটি NuGet বিকল্প @marcgravell এর প্রোটোকল বাফার্স (.NET এর দ্রুত বাইনারি সিরিয়ালাইজার)।

সার্ভিসস্ট্যাকের পাঠ্য সিরিয়ালাইজারগুলি খুব স্থিতিস্থাপক এবং ত্রুটি ছাড়াই চরম সংস্করণ সহ্য করতে পারে ।

ঘর্ষণ মুক্ত দেব অভিজ্ঞতা শেষ-থেকে-শেষ

সার্ভিসস্ট্যাকের মতামতপূর্ণ প্রকৃতি কোনও সিঙ্ক / অ্যাসিঙ্ক সি # /। নেট এবং অ্যাসিঙ্ক সিলভারলাইট ক্লায়েন্টকে কোনও কোড-জেন ছাড়াই একটি অন্তর্নিহিত সমর্থন সহ একটি দ্রুত, টাইপযুক্ত, টর্স ওয়েব সার্ভিস এপিআইয়ের শেষ-থেকে-শেষের জন্য মঞ্জুরি দেয় :

সি # সিঙ্ক উদাহরণ

var response = client.Send<HelloResponse>(new Hello { Name = "World!" });

অ্যাসিঙ্ক সি # উদাহরণ

client.SendAsync<HelloResponse>(new Hello { Name = "World!" },
    r => Console.WriteLine(r.Result), (r, ex) => { throw ex; });

এটি কেবল খাঁটি জেএসএনকে ফেরত দেওয়ার সাথে সাথে এটি অন্যান্য এইচটিটিপি ক্লায়েন্টদের সাথেও তুচ্ছভাবে গ্রাস করা হয়, যেমন জেএসওয়াই ব্যবহার করে জেএস ক্লায়েন্টের উদাহরণ :

$.getJSON("http://localhost/Backbone.Todo/todos", function(todos) {
    alert(todos.length == 1);
});

অত্যন্ত পরীক্ষামূলক

সমস্ত সি # /। নেট সার্ভিসক্লিয়েন্টগুলি একই ইন্টারফেসগুলি ভাগ করে যা এগুলিকে অত্যন্ত পরীক্ষামূলক এবং অদলবদল করে তোলে যেখানে আপনি একই ইউনিট পরীক্ষাটি এক্সএমএল, জেএসএন, জেএসভি, এসওএপি ইন্টিগ্রেশন টেস্ট হিসাবে পরিবেশন করতে পারেন ।

ধনী বৈধকরণ এবং ত্রুটি হ্যান্ডলিং অন্তর্নির্মিত

একটি ফ্রিসিটন-মুক্ত এবং ক্লিন দেব অভিজ্ঞতা সরবরাহের মিশনে সার্ভিস স্ট্যাকের মধ্যে টাইপড বৈধতা এবং বিল্ট-ইন ত্রুটি হ্যান্ডলিং অন্তর্ভুক্ত রয়েছে যেখানে একটি সি # ব্যতিক্রম নিক্ষেপ করা বা এর বিল্ট-ইন ফ্লুয়েন্ট বৈধতা ব্যবহার করে ক্লায়েন্টকে কাঠামোগত, টাইপ করা ত্রুটিগুলি ওয়েব পরিষেবা ক্লায়েন্টগুলিতে সহজেই অ্যাক্সেসযোগ্য উপলব্ধ করা হয় যেমন:

try {
    var client = new JsonServiceClient(BaseUri);
    var response = client.Send<UserResponse>(new User());
} catch (WebServiceException webEx) {
    /*
      webEx.StatusCode  = 400
      webEx.ErrorCode   = ArgumentNullException
      webEx.Message     = Value cannot be null. Parameter name: Name
      webEx.StackTrace  = (your Server Exception StackTrace - if DebugMode is enabled)
      webEx.ResponseDto = (your populated Response DTO)
      webEx.ResponseStatus   = (your populated Response Status DTO)
      webEx.GetFieldErrors() = (individual errors for each field if any)
    */
}

জাভাস্ক্রিপ্টে ত্রুটিগুলি গ্রাস করার জন্য এটি তুচ্ছ করে তুলতে আপনি হালকা এসএস-বৈধকরণ.জেএসএ জাভাস্ক্রিপ্ট লাইব্রেরিটি আপনার একক লাইন কোডের সাথে আপনার প্রতিক্রিয়া ত্রুটিগুলি আপনার এইচটিএমএল ফর্ম ক্ষেত্রগুলিতে বেআইনিভাবে আবদ্ধ করতে ব্যবহার করতে পারেন । SocialBootstrapApi উদাহরণ প্রকল্পের এই একটি ভাল ডেমো প্রদান করে।

এএসপি.এনইটি এবং এমভিসির সাথে সমৃদ্ধ সংহতকরণ

ServiceStack MVC পাওয়ারপ্যাক পুনরায় লিখেছেন এবং সংশোধন করা হয়েছে তার জন্য প্রতিস্থাপন সঙ্গে ASP.NET এবং MVC এর ails অনেকটা অসমর্থকরণ সেশন এবং ICacheClient এবং ISession API গুলি নিজস্ব পরিষ্কার এবং নির্ভরতা মুক্ত বাস্তবায়ন ক্যাশে এক্সএমএল-ভারাক্রান্ত ASP.NET প্রদানকারীর।

সার্ভিস স্ট্যাকটিতে অন্তর্নির্মিত বিভিন্ন সংখ্যক অ্যাথপ্রোভাইডার সহ একটি নতুন এবং ক্লিনার প্রমাণীকরণ এবং স্বয়ংক্রিয়করণ সরবরাহকারী মডেল অন্তর্ভুক্ত রয়েছে :

  • শংসাপত্রসমূহ / / প্রমাণীকরণ / শংসাপত্রগুলি পরিষেবাতে পোস্ট করে ব্যবহারকারীর নাম / পাসওয়ার্ড শংসাপত্রগুলির সাথে প্রমাণীকরণের জন্য
  • বুনিয়াদি প্রমাণীকরণ - ব্যবহারকারীদের বেসিক প্রমাণীকরণের সাথে অনুমোদন দেওয়া হচ্ছে
  • টুইটার ওআউথ - ব্যবহারকারীদের টুইটারের সাথে নিবন্ধকরণ এবং প্রমাণীকরণের অনুমতি দিন
  • ফেসবুক OAuth - ব্যবহারকারীদের ফেসবুকের সাথে নিবন্ধকরণ এবং প্রমাণীকরণের অনুমতি দিন

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

দুর্দান্ত ডকুমেন্টেশন

সার্ভিস স্ট্যাকটি খুব ভালভাবে নথিভুক্ত যেখানে ফ্রেমওয়ার্ক সম্পর্কিত বেশিরভাগ তথ্যই গিটহাব উইকিতে হোস্ট করা হয় । ফ্রেমওয়ার্ক (যেমন Serializers, Redis, OrmLite) অন্যান্য অংশের জন্য ডকুমেন্টেশন পাওয়া যাবে servicestack.net/docs/

ServiceStack.Examples থাকাকালীন প্রকল্প ServiceStack -এর লাইভ গণদেবতা এবং স্টার্টার টেমপ্লেট সকলের জন্য সোর্স কোড প্রদান করে SocialBoostsrapApi প্রকল্পের ServiceStack এবং MVC সঙ্গে একটি Backbone.js একক পৃষ্ঠার অ্যাপ Twitters বুটস্ট্র্যাপ টেমপ্লেট উপর ভিত্তি করে তৈরির জন্য একটি দুর্দান্ত আদ্যস্থল প্রদান করে।

উপরের পাশাপাশি গুগল গ্রুপের মধ্যে তথ্যের কোষাগার সংগ্রহ রয়েছে যা সাম্প্রতিক বছরগুলিতে যথেষ্ট পরিমাণে প্রসারিত হয়েছে।

সর্বত্র চালায়

সার্ভিস স্ট্যাক একটি .NET 3.5 ফ্রেমওয়ার্ক যা এএসপি.এনইটি এবং এইচটিপিপ্লাইটার হোস্টগুলিতে চালিত হয় এবং নেট নেট বা মনোতে হোস্ট করা যায় (ট্রিভিয়া: www.servicestack.net সেন্টোস / মনো দ্বারা চালিত)। এটি আপনার সার্ভিসস্ট্যাক ওয়েব পরিষেবাদি দুটিতে হোস্ট করার অনুমতি দেয়:

.NET 3.5 এবং 4.0 সহ উইন্ডোজ

মনো সাথে লিনাক্স / ওএসএক্স Mon

  • অ্যাপাচি + মোড_মোনো
  • Nginx + MonoFastCGI
  • XSP
  • কনসোল অ্যাপ

ওপেন সোর্স ডেভলপমেন্ট মডেল দিয়ে বিকাশিত

সার্ভিস স্ট্যাক ওপেন সোর্স বিকাশের মডেলের দৃ strong় বিশ্বাসী যেখানে এটি সক্রিয়ভাবে উন্মুক্তভাবে বিকাশিত এবং এটি প্রতিষ্ঠার পর থেকে সর্বদা একটি উদার ওএসএস লাইসেন্স (নতুন বিএসডি) এর আওতায় আয়োজিত হয়ে আসছে। আজ অবধি এটি 47 টিরও বেশি বিকাশকারীদের কাছ থেকে অবদান পেয়েছে এবং এটি বর্তমানে গিটহাবের তৃতীয় সর্বাধিক দেখা সি # প্রকল্পে দাঁড়িয়েছে ।

অসুবিধেও

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

প্রতিক্রিয়া এবং সম্প্রদায় সম্পদ

সার্ভিস স্ট্যাকটি বেশিরভাগ লোকের দ্বারা প্রদত্ত ইতিবাচক প্রতিক্রিয়া সহ খুব ভালভাবে গ্রহণ করা হয়েছে যারা মেলিং গোষ্ঠীতে ইতিবাচক সংবেদন দ্বারা এটি দৃশ্যমান হিসাবে মূল্যায়ন করেছে । এই বছর হিসাবে @ সার্ভিসস্ট্যাক টুইটার অ্যাকাউন্টটি তার পছন্দসইগুলিতে উল্লেখ এবং প্রতিক্রিয়া অনুসরণ করছে

কমিউনিটি রিসোর্স উইকি পাতা একটি ভাল জায়গা সংযোগগুলি যেসব পোস্ট, শুঁটি কাস্ট, উপস্থাপনা, Gists এবং আরো ব্লগে সঙ্গে বন্য মধ্যে ServiceStack সম্পর্কে আরো বিস্তারিত জানতে হয়।


30
যিনি ডাব্লুসিএফ, ওয়েবপি এবং এখন সার্ভিস স্ট্যাক ব্যবহার করার চেষ্টা করেছেন সে হিসাবে সার্ভিসস্ট্যাকের সাথে লেগে থাকুন। 1) ডাব্লুসিএফ অকারণে বেশিরভাগের পক্ষে জটিল। এটি পুরানো "আসুন সমস্ত সমস্যার সমাধান করুন" ডেলিমা। 2) ওয়েব-এপিআই খুব নতুন। চূড়ান্ত মুক্তির জন্য অপেক্ষা করুন। এটি মুলি অংশের ফর্মগুলিও সমর্থন করে না। কোডটি ফ্ল্যাক্সের অবস্থায় রয়েছে। আমি এটিতে বাণিজ্যিক অ্যাপ্লিকেশনগুলি চালিত করব না। বিটিডাব্লু, এই প্রশ্নটি বন্ধ করা উচিত নয়।
মাইকেল সিলভার

13
আপনি কি দয়া করে সদ্য প্রকাশিত ASP.NET WebAPI এর জন্য এটি সম্পাদনা করতে পারেন?
ব্লেক নাইমিজস্কি

26
আপনার ওয়েবসাইটটিকে আরও ব্যবহারকারী বান্ধব করুন। এটি দুর্দান্ত সরঞ্জামের মতো মনে হচ্ছে। তবে আপনার সাইটটি বিভ্রান্তিকর। প্রকল্পটি কী এবং এটি সমাধানের লক্ষ্য কী তা এটি পরিষ্কার নয়। বিপরীতে, এই উত্তর চমত্কার।
কুগেল

82
এটি ওয়েব এপিআইয়ের সাথে তুলনা করার মতো বলে মনে হচ্ছে না। এটি অর্থবোধ করে - উত্তর দেওয়ার সময়, ওয়েব এপিআই ছিল একেবারে নতুন। এই আর হয় না। আমি সত্যিকারের ভাঙ্গন দেখতে সত্যিই পছন্দ করব এবং আমার ভয় এই উত্তরটি পুরানো হয়ে গেছে।
জর্জ মাউয়ার

35
এটি উল্লেখ করার মতো হতে পারে যে সার্ভিস স্ট্যাক v4.0 হিসাবে বাণিজ্যিকভাবে কেবল / বাইনারি বিতরণে চলেছে। বিস্তারিত জানার জন্য ডেমিসের Google+ পোস্ট দেখুন।
নিক জোন্স

137

এখানে একটি নতুন মূল পার্থক্য রয়েছে যার জন্য অ্যাকাউন্টিং করা দরকার - সার্ভিসস্ট্যাকটি আর v4 হিসাবে ব্যবহারের জন্য মুক্ত নয়। যেহেতু এসএস প্রো-এর একটি চমকপ্রদ উত্তর রয়েছে আমি ওয়েব এপিআইয়ের জন্য কয়েকজনকে ফেলে দিতে চেয়েছিলাম

ওয়েব এপিআই

প্রো এর:

  1. আপনার প্রকল্পে ব্যবহারের জন্য নিখরচায় (আপনার কাছে কোনও ভিএস লাইসেন্স রয়েছে যা বাণিজ্যিক ব্যবহারের অনুমতি দেয়)
  2. মাইক্রোসফ্ট থেকে এবং সমস্ত ওয়েব জুড়ে অসাধারণ উচ্চ স্তরের বিনামূল্যে সমর্থন স্ট্যাকওভারফ্লো ডটকম সহ এখানে উপলব্ধ including
  3. মাইক্রোসফ্টের অন্যান্য প্রযুক্তিগত স্ট্যাকগুলি যেমন এএসপি.নেট এমভিসি এর সাথে দ্রুত সংহত করে যা মাইক্রোসফ্টের দোকানে অত্যন্ত জনপ্রিয়
  4. আপনার মাইক্রোসফ্ট স্ট্যাকগুলিতে RESTful প্রমাণীকরণ এবং অনুমোদনের সমর্থনে নির্মিত

কন এর:

  1. এসওএপি সমর্থন করে না

আনুষঙ্গিক সুবিধা

(ওয়েব এপিআইয়ের বেনিফিট বা আমি কী যুক্ত করতে পারি তার পক্ষে বা যুক্তি যুক্ত করে নীচে মন্তব্য করতে দ্বিধা বোধ করবেন)


84
নিশ্চিত না যে এসওএপি সমর্থন না করাই একটি কন
ডি রোসাদো

11
এমভিসি এবং ওয়েবএপিআই সহ-উপস্থিতিটি হ'ল একটি কন।
ফিল করুন

4
সার্ভিস স্ট্যাক ভি 3 এখনও ব্যবহারের জন্য নিখরচায় এবং আফাইক সর্বদা থাকবে, আমি মনে করি না যে কোনও মিথকথের উল্লেখ করা v4 নির্দিষ্ট।
কাইল গোবেল

14
বাহ, "আর মুক্ত নয়" একটি সংক্ষিপ্তসার। দশ জনেরও বেশি কর্মচারী সংস্থার জন্য প্রতি বিকাশকারী প্রতি 999 ডলার ?
রায়ান লুন্ডি

7
সার্ভিস স্ট্যাক থেকে ওয়েব এপিআই এ স্যুইচ করার আমার সবচেয়ে বড় কারণ হ'ল সার্ভিস স্ট্যাক ভি 3 নতুন 64 বিট আর্কিটেকচার প্রয়োজনীয়তার সাথে আইওএসে (জ্যামারিন ব্যবহার করে) সমর্থিত নয়। অবশ্যই, আপডেটগুলি ভি 4 এ যা অর্থ প্রদানের সংস্করণ।
SgtRock

21

আমি সার্ভিসস্ট্যাক সম্পর্কে সত্যিই বেশি কিছু বলতে পারি না, তবে ওয়েব এপিআই-তে প্রচুর দুর্দান্ত বৈশিষ্ট্য রয়েছে এবং বর্তমানে সংস্করণ 2-এ রয়েছে।

ওয়েব এপিআই দিয়ে আপনি কিছু করতে পারেন:

  • ওউইন অ্যাপ্লিকেশনটিতে স্ব হোস্ট (অর্থাত্ যে কোনও জায়গায় চালানো হয়)।
  • এর জন্য পূর্ণ সমর্থন asyncএবং await
  • ভাল ডিফল্ট টেম্পলেট এবং টন ওপেন সোর্স উদাহরণ।
  • দুর্দান্ত জসন.নেট জেএসওএন সিরিয়ালাইজার ব্যবহার করেছেন।
  • ডিফল্টরূপে রেস্ট-ইশ (আপনাকে নিজেরাই হাইপারমিডিয়া করতে হবে)।
  • এবং আরও ...

1
এই তালিকার সমস্ত কিছুই সার্ভিসস্ট্যাকে উপস্থিত বা একটি কন হিসাবে দেখা যেতে পারে। সার্ভিস স্ট্যাকের জেএসএন সিরিয়ালাইজার যদিও কম জনপ্রিয় হলেও জেএসএন.এনইটের চেয়ে অনেক বেশি দ্রুত। OWIN সমর্থন বাস্তবায়িত হওয়ার সম্ভাবনা নেই কারণ @ মাইথজ এই প্রযুক্তিটির বিরুদ্ধে দৃ opinions় মতামত রয়েছে যা মোটামুটি সুন্দর ( এই বৈশিষ্ট্যটির অনুরোধে তার মন্তব্য দেখুন )।
ygormutti

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

সার্ভিস স্ট্যাক নিয়ে আপনার যদি অভিজ্ঞতা না থাকে তবে উত্তর দিন কেন?
ব্রায়ান ওগডেন

6

সার্ভিস স্ট্যাকের গ্রাহক হিসাবে আমার কাছে সার্ভিসস্ট্যাকের পক্ষে সবচেয়ে গুরুত্বপূর্ণ।

https://github.com/ServiceStack/Issues/issues/606

So. বাগ পাওয়া গেছে, বাগ চিহ্নিত করা হয়েছে, বাগ ঠিক করা হয়েছে। একই দিন. অসাধারণ সমর্থন!


3

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

মিথ এবং সমর্থন এবং ব্যাখ্যা সম্পর্কিত একটি উদাহরণ is এটি অ্যাপ্লিকেশনগুলির নকশা এবং রক্ষণাবেক্ষণের সরলতার বিষয়ে আমার জ্ঞানকে আপগ্রেড করেছে। এটি চেষ্টা করুন এবং আপনি বুঝতে হবে।

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

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