আমি SignalRআমার বেশ কয়েকটি প্রকল্পে রিয়েল-টাইম মেসেজিং কার্যকারিতা অর্জন করতে ব্যবহার করেছি। এটি নির্ভরযোগ্যভাবে কাজ করছে বলে মনে হয় এবং এটি ব্যবহার শিখতে খুব সহজ।
অন্তত আমার জন্য প্রলোভনটি হ'ল একটি ওয়েব এপিআই পরিষেবা বিকাশ করা এবং SignalRসমস্ত কিছুর জন্য ব্যবহার করা।
আমি মনে করি এটি চিন্তাশীল ডিজাইনের মাধ্যমে অর্জন করা যেতে পারে এবং এটি যদি হয় তবে এর অর্থ ক্লায়েন্ট কোডের চেয়ে অনেক কম প্রয়োজন। আরও গুরুত্বপূর্ণ, এর অর্থ এই হবে যে কোনও বিভাজন ইন্টারফেসের পরিবর্তে পরিষেবাগুলির মধ্যে একটি একক ইন্টারফেস থাকবে এবং সবচেয়ে খারাপ ক্ষেত্রে, জিনিস কখন রেন্ডার হবে ইত্যাদি সম্পর্কে চিন্তা না করেই এটিকে তারে আনা যায় etc.
সুতরাং, আমি জানতে চাই:
- পারফরম্যান্সের পাশাপাশি সমস্ত ওয়েব পরিষেবার পরিবর্তে সিগন্যালআর ব্যবহার না করার অন্য কোনও কারণ আছে কি?
- সিগন্যালআর-র সম্পাদনা কি যথেষ্ট তা নিয়ে যথেষ্ট বোঝায় না?
সার্ভার-সাইড অবজেক্ট এবং পরিষেবা সংজ্ঞা ক্লায়েন্ট-সাইড পরিষেবা অ্যাক্সেস কোডে কোনও নির্বোধ মতো কিছু না করে অনুবাদ করতে সক্ষম হওয়া আমার দীর্ঘদিনের স্বপ্ন node.js। উদাহরণস্বরূপ, যদি আমি একটি আকর্ষণীয় বস্তু সংজ্ঞায়িত InterestingObjectএবং একটি পরিষেবা CRUDবস্তুর InterestingObjectService, আমি সেবা করার জন্য একটি মানক URL রুট নির্ধারণ করতে পারেন - বলুন, "/ {SERVICENAME} / {methodName}" - কিন্তু আমি এখনও লিখতে ক্লায়েন্ট কোডে ব্যবহার করার দরকার সেবা. যেহেতু বস্তুর ক্লায়েন্ট থেকে সার্ভার এবং ফিরে পাশ করা যাচ্ছে, সেখানে কোন ব্যবহারিক কারণ নেই আছেক্লায়েন্ট-সাইড কোডে অবজেক্টটি স্পষ্টভাবে সংজ্ঞায়িত করতে, বা CRUD ক্রিয়াকলাপ সম্পাদন করার জন্য রুটগুলি স্পষ্টভাবে সংজ্ঞায়নের প্রয়োজন হবে না। আমি মনে করি যে এগুলি সমস্তকে মানিক করার কোনও উপায় থাকা উচিত যাতে এই ক্লায়েন্ট থেকে সার্ভারে অ্যাক্সেস অ্যাক্সেস কাজ করে এবং এই হিসাবে স্বচ্ছতার সাথে ফিরে আসে যে আমি যদি উইনফর্মস বা জাভা লিখছিলাম তবে এই ক্লায়েন্টটি লিখতে পারা যায় অ্যাপলেট বা নেটিভ অ্যাপ বা আপনার কী আছে।
Signতিহ্যবাহী ওয়েব পরিষেবার পরিবর্তে সিগন্যালআর যদি ব্যবহার করার পক্ষে যথেষ্ট ভাল হয় তবে এটি অর্জনের পক্ষে এটি একটি কার্যকর উপায় হতে পারে। আমি বর্ণিত পরিষেবার মতো হাবটিকে কাজ করার জন্য সিগন্যালআর ইতিমধ্যে কার্যকারিতা অন্তর্ভুক্ত করেছে, তাই আমি একটি সাধারণ বেস (সিআরইউডি) পরিষেবা সংজ্ঞায়িত করতে পারি যা এই সমস্ত কার্যকারিতা কিছুটা প্রতিফলন সহ অফার-অফ-বাক্সে সরবরাহ করবে। তারপরে আমি পরিষেবাটি অ্যাক্সেসের জন্য প্রায় গ্রহণ করতে পেরেছিলাম, কনভেনশন দ্বারা অ্যাক্সেস করতে পারে এমন কিছু অ্যাক্সেস করার জন্য আমাকে পুনরায় লেখার কোডের বিরক্তি বাঁচিয়েছিল - এবং আরও গুরুত্বপূর্ণ, এটি কীভাবে আপডেট হয় তা নির্ধারণ করার জন্য আমাকে লেখার কোডটি ব্যয় করতে হবে time ডোম
আমার সম্পাদনাটি পড়ার পরে আমার মনে হচ্ছে এটি কিছুটা অযৌক্তিক হতে পারে তাই দয়া করে আমার কাছে কী পাচ্ছি সে সম্পর্কে আপনার কোনও প্রশ্ন থাকলে বিনা দ্বিধায় আমাকে জিজ্ঞাসা করুন। মূলত, আমি চাই পরিষেবাটি অ্যাক্সেস যতটা সম্ভব স্বচ্ছ হোক to