ওয়েব অ্যাপ্লিকেশনটি কীভাবে শুরু করা / হোস্টিং করা যায় তা পুরোপুরি বিভ্রান্ত হওয়ার কারণে এটি আমার বোঝার। একটি ছোট সংক্ষিপ্তসার:
1. ক্লাসিক এএসপি.এনইটি: বাধ্যতামূলক আইআইএস পাইপলাইনের শেষ ধাপে চালানোর জন্য কেবল অ্যাপ্লিকেশন কোডটি লিখুন
২.উইউইন সহ এএসপি.নেট: একটি নেট নেট সার্ভারটি কনফিগার করুন এবং আপনার অ্যাপ্লিকেশন কোডটি লিখুন। আর আইআইএস-এ সরাসরি যুক্ত নয়, সুতরাং আপনি এটি আর ব্যবহার করতে বাধ্য হবেন না।
৩. এএসপি.নেট কোর: আপনার অ্যাপ্লিকেশন কোডটি ব্যবহার করতে এবং লিখতে হোস্ট এবং ওয়েব সার্ভার উভয়কেই কনফিগার করুন। আপনি পুরো .NET ফ্রেমওয়ার্কের পরিবর্তে .NET কোর লক্ষ্য করে নিলে কোনও নেট নেট সার্ভার ব্যবহার করা বাধ্যতামূলক নয়।
অ্যাপ্লিকেশন শুরু করার জন্য এটি কীভাবে কাজ করে এবং কোন ক্লাস ব্যবহার করা হয় তার বিশদটি সম্পর্কে আমি আরও কিছুটা এগিয়ে যাব:
ক্লাসিক এএসপি.এনইটি
ক্লাসিক এএসপি.এনইটি অ্যাপ্লিকেশনগুলির Global.asax
এন্ট্রি পয়েন্ট হিসাবে ফাইল রয়েছে। এই অ্যাপ্লিকেশনগুলি কেবল আইআইএসে চালানো যেতে পারে এবং আপনার কোড আইআইএস পাইপলাইন শেষে কার্যকর করা হবে (সুতরাং আপনার কোড এমনকি চালানোর আগে আইআইএস কর্স, প্রমাণীকরণের জন্য দায়ী)। আইআইএস 7 যেহেতু আপনি আপনার অ্যাপ্লিকেশনটি সংহত মোডে চালাতে পারেন যা এএসপি.এনইটি রানটাইমকে আইআইএসে সংহত করে। এই কনফিগার কার্যকারিতা আপনার কোড যা সম্ভব নয় সক্ষম সামনে যেমন (অথবা শুধুমাত্র আইআইএস নিজেই) URL rewriting মধ্যে Application_Start
আপনার ইভেন্ট Global.asax
ফাইল বা নতুন ব্যবহার <system.webserver>
আপনার অধ্যায় web.config
ফাইল।
OWIN সহ এএসপি.নেট
প্রথমত ওউইন একটি লাইব্রেরি নয় তবে কীভাবে নেট নেট সার্ভার (উদাহরণস্বরূপ আইআইএস) ওয়েব অ্যাপ্লিকেশনগুলির সাথে ইন্টারেক্ট করে specific মাইক্রোসফ্ট নিজেরাই OWIN এর একটি প্রকল্প বাস্তবায়ন করে যার নাম ক্যাটানা (বিভিন্ন নুগেট প্যাকেজের মাধ্যমে বিতরণ করা হয়)। এই বাস্তবায়নটি IAppBuilder
আপনি কোনও Startup
শ্রেণিতে মুখোমুখি ইন্টারফেস এবং মাইক্রোসফ্ট দ্বারা সরবরাহিত কিছু ওউইন মিডলওয়্যার উপাদান (ওএমসি এর) সরবরাহ করে। ব্যবহারIAppBuilder
আপনি মূলত আইআইএস পাইপলাইনে আবদ্ধ হওয়ার পরিবর্তে ওয়েবসারভারের জন্য পাইপলাইন তৈরি করার জন্য প্লাগ-ও-প্লেতে মিডলওয়্যার রচনা করুন (উপরের পয়েন্ট হিসাবে কেবলমাত্র ASP.NET পাইপলাইন ছাড়াও) তবে এখন আপনি ব্যবহার করেন সিওআরএসের জন্য মিডলওয়্যার উপাদান, প্রমাণীকরণের জন্য একটি মিডওয়্যার উপাদান ...)। এ কারণে আপনার অ্যাপ্লিকেশনটি আর আইআইএস-তে বিশেষভাবে মিলিত হয়নি এবং আপনি এটি কোনও। নেট ওয়েবসার্ভারে চালাতে পারেন, উদাহরণস্বরূপ:
- OwinHost প্যাকেজ স্ব-হোস্ট একটি কাতানা ওয়েবসার্ভার সঙ্গে আপনার আবেদন ব্যবহার করা যাবে।
- Microsoft.Owin.Host.SystemWeb প্যাকেজ সঠিক জীবদ্দশায় ঘটনা অভ্যন্তরীণভাবে আপনার মিডলওয়্যার সাবস্ক্রাইব করে, ইন্টিগ্রেটেড মোডে IIS7 + + আপনার OWIN আবেদন হোস্ট করার জন্য ব্যবহার করা হয়।
যে জিনিসটি সমস্ত কিছুকে বিভ্রান্ত করে তোলে তা Global.asax
হ'ল এখনও ওউইন Startup
ক্লাসের সাথে একত্রে সমর্থিত , যখন তারা উভয়ই একই রকম কাজ করতে পারে। উদাহরণস্বরূপ আপনি Global.asax
ওআউআইএন মিডলওয়্যার ব্যবহার করে সিআরএস বাস্তবায়ন করতে পারেন যা সত্যই বিভ্রান্তিকর হয়ে পড়ে ।
আমার থাম্বের নিয়মটি হ'ল যখনই আমাকে OWIN যুক্ত করা দরকার তখন Global.asax
ব্যবহারের পক্ষে পুরোপুরিভাবে ফাইলটি সরিয়ে ফেলা Startup
।
এএসপি.নেট কোর
এএসপি.নেট কোর হ'ল পরবর্তী বিবর্তন এবং এখন আপনি। নেট নেট বা সম্পূর্ণ। নেট ফ্রেমওয়ার্কটিকে লক্ষ্য করতে পারেন। আপনি যখন নেট নেট লক্ষ্যবস্তু করেন আপনি .NET স্ট্যান্ডার্ড সমর্থন করে এমন কোনও হোস্টে আপনার অ্যাপ্লিকেশন চালাতে পারেন। এর অর্থ আপনি আর কোনও নেট নেটসার্ভারের মতো সীমাবদ্ধ নন (পূর্ববর্তী পয়েন্টের মতো), তবে আপনার অ্যাপ্লিকেশন ডকার পাত্রে, একটি লিনাক্স ওয়েবসার্ভার, আইআইএসে হোস্ট করতে পারেন ...
একটি এএসপি.নেট কোর ওয়েব অ্যাপ্লিকেশনটির প্রবেশ Program.cs
ফাইলটি সেখানে আপনি আপনার হোস্টকে কনফিগার করেছেন এবং আবার আপনার Startup
ক্লাসটি নির্দিষ্ট করুন যেখানে আপনি নিজের পাইপলাইনটি কনফিগার করেন। OWIN ব্যবহার ( IAppBuilder.UseOwin
এক্সটেনশন পদ্ধতি ব্যবহার করে ) isচ্ছিক, তবে সম্পূর্ণ সমর্থনযোগ্য ।
AreaRegistration.RegisterAllAreas();
আমার জন্য একটি ত্রুটি ঘটেছে কারণ এই পদ্ধতিটি কেবল প্রারম্ভিক সময়ে এটি ব্যবহারের অনুমতি দেওয়া হয় নাApplication_Start
। যাইহোক, আমার অ্যাপ্লিকেশনটি একটি এপিআই এবং এই পদ্ধতিটি কেবলমাত্র এমভিসি অ্যাপ্লিকেশনগুলির জন্যই কার্যকর: স্ট্যাকওভারফ্লো