asp.net-core ट्यूटोरियल
Asp.net-core के साथ शुरुआत करना
खोज…
टिप्पणियों
.NET कोर Microsoft द्वारा बनाए गए एक सामान्य उद्देश्य विकास मंच और GitHub पर .NET समुदाय है। यह क्रॉस-प्लेटफॉर्म है, विंडोज, मैकओएस और लिनक्स का समर्थन करता है, और इसका उपयोग डिवाइस, क्लाउड और एम्बेडेड / IoT परिदृश्यों में किया जा सकता है।
निम्नलिखित विशेषताएं सबसे अच्छा .NET कोर को परिभाषित करती हैं:
- लचीली तैनाती: अपने ऐप में शामिल किया जा सकता है या साइड-बाय-साइड यूज़र- या मशीन-वाइड स्थापित किया जा सकता है।
- क्रॉस-प्लेटफ़ॉर्म: विंडोज, मैकओएस और लिनक्स पर चलता है; अन्य OSes में पोर्ट किया जा सकता है। समर्थित ऑपरेटिंग सिस्टम (OS), CPU और एप्लिकेशन परिदृश्य समय के साथ बढ़ते जाएंगे, Microsoft, अन्य कंपनियों और व्यक्तियों द्वारा प्रदान किए जाते हैं।
- कमांड-लाइन टूल्स: कमांड लाइन पर सभी उत्पाद परिदृश्यों का उपयोग किया जा सकता है।
- संगत: .NET .NET लाइब्रेरी के माध्यम से .NET कोर .NET फ्रेमवर्क, ज़ामरीन और मोनो के साथ संगत है।
- ओपन सोर्स: MIT और Apache 2 लाइसेंस का उपयोग करते हुए .NET कोर प्लेटफॉर्म ओपन सोर्स है। प्रलेखन CC-BY के तहत लाइसेंस प्राप्त है। .NET Core एक .NET फाउंडेशन प्रोजेक्ट है।
- Microsoft द्वारा समर्थित: .NET कोर Microsoft द्वारा समर्थित है, प्रति .NET कोर समर्थन
संस्करण
संस्करण | रिलीज नोट्स | रिलीज़ की तारीख |
---|---|---|
RC1 * | 1.0.0-RC1 | 2015/11/18 |
RC2 * | 1.0.0-rc2 | 2016/05/16 |
1.0.0 | 1.0.0 | 2016/06/27 |
1.0.1 | 1.0.1 | 2016/09/13 |
1.1 | 1.1 | 2016/11/16 |
स्थापना और सेटअप
विजुअल स्टूडियो स्थापित करना
यदि आपके पास विजुअल स्टूडियो इंस्टॉल नहीं है, तो आप यहां मुफ्त विजुअल स्टूडियो कम्युनिटी एडिशन डाउनलोड कर सकते हैं । यदि आपके पास पहले से ही स्थापित है, तो आप अगले चरण पर आगे बढ़ सकते हैं।
ASP.NET Core MVC एप्लिकेशन बनाना।
- विजुअल स्टूडियो खोलें।
- फ़ाइल> नया प्रोजेक्ट चुनें।
- बाईं ओर टेम्प्लेट अनुभाग के भीतर अपनी पसंद की भाषा के तहत वेब का चयन करें ।
- संवाद के भीतर एक पसंदीदा प्रोजेक्ट प्रकार चुनें ।
- वैकल्पिक: एक .NET फ्रेमवर्क चुनें जिसे आप लक्षित करना चाहते हैं
- अपनी परियोजना को नाम दें और इंगित करें कि क्या आप परियोजना के लिए समाधान बनाना चाहते हैं।
- प्रोजेक्ट बनाने के लिए ओके पर क्लिक करें ।
प्रोजेक्ट के लिए आप जिस टेम्पलेट का उपयोग करना चाहते हैं, उसे चुनने के लिए आपको एक अन्य संवाद प्रस्तुत किया जाएगा:
प्रत्येक विवरण स्व-व्याख्यात्मक है। इस पहले प्रोजेक्ट के लिए, वेब एप्लिकेशन का चयन करें , जिसमें सभी डिफ़ॉल्ट कॉन्फ़िगरेशन, प्रमाणीकरण और कुछ मौजूदा सामग्री होगी।
चूंकि यह एक परिचय अनुप्रयोग है और इसके लिए आपको किसी सुरक्षा या प्रमाणीकरण की आवश्यकता नहीं है, आप प्रमाणीकरण विकल्प को संवाद के दाईं ओर No Authentication में बदल सकते हैं और प्रोजेक्ट बनाने के लिए OK पर क्लिक कर सकते हैं ।
आपको तब समाधान एक्सप्लोरर के भीतर नई परियोजना को देखना चाहिए:
एप्लिकेशन को चलाने के लिए F5 कुंजी दबाएं और डिबगिंग सत्र शुरू करें, जो आपके डिफ़ॉल्ट ब्राउज़र के भीतर एप्लिकेशन लॉन्च करेगा:
अब आप देख सकते हैं कि आपकी परियोजना स्थानीय स्तर पर चल रही है और आपके आवेदन के निर्माण के लिए एक प्रारंभिक बिंदु के रूप में तैयार है।
कमांड लाइन से एक नया प्रोजेक्ट बनाएं
dotnet
कमांड का उपयोग करके कमांड लाइन से पूरी तरह से एक नया ASP.NET कोर प्रोजेक्ट बनाना संभव है।
dotnet new web
dotnet restore
dotnet run
dotnet new web
एक नया "रिक्त" वेब प्रोजेक्ट बनाता है। web
पैरामीटर ASP.NET Core Empty
टेम्पलेट का उपयोग करने के लिए dotnet
टूल को बताता है। वर्तमान में स्थापित सभी उपलब्ध टेम्पलेट्स को दिखाने के लिए dotnet new -all
का उपयोग करें। अन्य प्रमुख टेम्प्लेट में console
, classlib
, mvc
और xunit
।
एक बार जब टेम्प्लेट को हटा दिया जाता है, तो आप प्रोजेक्ट को चलाने के लिए आवश्यक पैकेज ( dotnet restore
) को पुनर्स्थापित कर सकते हैं, और उसे कंपाइल कर सकते हैं ( dotnet run
)।
एक बार परियोजना चल रही है, यह डिफ़ॉल्ट पोर्ट: http: // localhost: 5000 पर उपलब्ध होगी
ASP.NET कोर MVC के साथ न्यूनतम ASP.NET कोर वेब एपीआई
ASP.NET Core 1.0 के साथ, MVC और Web API फ्रेमवर्क को ASP.NET Core MVC नामक एक ढांचे में मिला दिया गया है। यह एक अच्छी बात है, क्योंकि एमवीसी और वेब एपीआई बहुत अधिक कार्यक्षमता साझा करते हैं, फिर भी हमेशा सूक्ष्म अंतर और कोड दोहराव थे।
हालाँकि, इन दोनों को एक फ्रेमवर्क में विलय करने से एक को दूसरे से अलग करना और भी मुश्किल हो गया। उदाहरण के लिए, Microsoft.AspNet.WebApi
वेब API 5.xx फ्रेमवर्क का प्रतिनिधित्व करता है, नया नहीं। लेकिन, जब आप Microsoft.AspNetCore.Mvc
(संस्करण 1.0.0
) को शामिल करते हैं, तो आपको पूर्ण विकसित पैकेज मिलता है। इसमें MVC फ्रेमवर्क ऑफ़र के सभी आउट-ऑफ-द-बॉक्स सुविधाएँ शामिल होंगी। जैसे रेजर, टैग हेल्पर्स और मॉडल बाइंडिंग।
जब आप केवल एक वेब एपीआई बनाना चाहते हैं, तो हमें इन सभी सुविधाओं की आवश्यकता नहीं है। तो, हम एक न्यूनतर वेब एपीआई का निर्माण कैसे करते हैं? इसका उत्तर है: Microsoft.AspNetCore.Mvc.Core
। नई दुनिया में MVC को कई पैकेजों में विभाजित किया गया है और इस पैकेज में MVC फ्रेमवर्क के केवल मुख्य घटक हैं, जैसे रूटिंग और प्राधिकरण।
इस उदाहरण के लिए, हम एक न्यूनतम MVC एपीआई बनाने जा रहे हैं। जिसमें एक JSON फॉर्मैटर और CORS शामिल है। एक रिक्त ASP.NET Core 1.0 वेब अनुप्रयोग बनाएं और इन पैकेजों को अपने प्रोजेक्ट में जोड़ें। json:
"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
अब हम स्टार्टअप वर्ग में AddMvcCore()
का उपयोग करके MVC को पंजीकृत कर सकते हैं:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddCors()
.AddJsonFormatters();
}
AddMvcCore
एक IMvcCoreBuilder
उदाहरण देता है जो आगे के निर्माण की अनुमति देता है। मिडलवेयर को कॉन्फ़िगर करना हमेशा की तरह ही है:
public void Configure(IApplicationBuilder app)
{
app.UseCors(policy =>
{
policy.AllowAnyOrigin();
});
app.UseMvc();
}
नियंत्रकों
'पुराना' वेब एपीआई अपने स्वयं के नियंत्रक आधार वर्ग के साथ आता है: ApiController
। नई दुनिया में ऐसी कोई चीज नहीं है, केवल डिफ़ॉल्ट Controller
वर्ग है। दुर्भाग्य से, यह एक बड़ा आधार वर्ग है और यह मॉडल बाइंडिंग, विचार और JSON.NET से बंधा है।
सौभाग्य से, नए ढांचे में नियंत्रक कक्षाओं को रूटिंग तंत्र द्वारा उठाए जाने के लिए Controller
से प्राप्त करने की आवश्यकता नहीं है। सिर्फ Controller
साथ नाम जोड़ना पर्याप्त है। यह हमें अपना कंट्रोलर बेस क्लास बनाने की अनुमति देता है। चलो इसे ApiController
कहते हैं, बस पुराने समय के लिए:
/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
[ActionContext]
public ActionContext ActionContext { get; set; }
public HttpContext HttpContext => ActionContext?.HttpContext;
public HttpRequest Request => ActionContext?.HttpContext?.Request;
public HttpResponse Response => ActionContext?.HttpContext?.Response;
public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}
[Controller]
विशेषता इंगित करती है कि प्रकार या किसी व्युत्पन्न प्रकार को डिफ़ॉल्ट नियंत्रक खोज तंत्र द्वारा नियंत्रक के रूप में माना जाता है। [ActionContext]
विशेषता निर्दिष्ट करती है कि संपत्ति को वर्तमान ActionContext
साथ सेट किया जाना चाहिए जब MVC नियंत्रक बनाता है। ActionContext
वर्तमान अनुरोध के बारे में जानकारी प्रदान करता है।
ASP.NET Core MVC एक
ControllerBase
क्लास भी प्रदान करता है जो बिना व्यू सपोर्ट के ही कंट्रोलर बेस क्लास प्रदान करता है। यह अभी भी हमारी तुलना में बहुत बड़ा है। यदि आपको यह सुविधाजनक लगे तो इसका उपयोग करें।
निष्कर्ष
अब हम नए ASP.NET Core MVC फ्रेमवर्क का उपयोग करके एक न्यूनतम वेब एपीआई का निर्माण कर सकते हैं। मॉड्यूलर पैकेज संरचना हमें उन पैकेजों में खींचने की अनुमति देती है जिनकी हमें ज़रूरत है और एक दुबला और सरल एप्लिकेशन बनाएं।
क्रॉस प्लेटफॉर्म एस्पनेट कोर एप्लिकेशन को विकसित करने के लिए विजुअल स्टूडियो कोड का उपयोग करना
AspNetCore से आप Mac, Linux, Window और Docker सहित किसी भी प्लेटफॉर्म पर एप्लिकेशन विकसित कर सकते हैं।
स्थापना और सेटअप
- यहां से विजुअल स्टूडियो कोड इंस्टॉल करें
- C # विलोपन जोड़ें
- डॉट नेट कोर एसडीके स्थापित करें। आप यहां से इंस्टॉल कर सकते हैं
अब आपके पास सभी उपकरण उपलब्ध हैं। एप्लिकेशन विकसित करने के लिए। अब आपको कुछ मचान विकल्प की आवश्यकता है। उसके लिए आपको येओमान का उपयोग करने पर विचार करना चाहिए। योमन को स्थापित करने के लिए
एनपीएम स्थापित करें। इसके लिए आपको अपनी मशीन पर नोड की आवश्यकता है। यहां से इंस्टॉल करें
एनपीएम का उपयोग करके योमन को स्थापित करें
npm स्थापित -g यो
अब Aspnet जनरेटर स्थापित करें
npm स्थापित -g जनरेटर-एस्पनेट
अब हमारे पास आपकी मशीन पर सभी सेटअप हैं। पहले DotNetCore मूल कमांड के साथ एक नई परियोजना बनाते हैं और फिर यो का उपयोग करके एक नई परियोजना बनाते हैं।
कमांड लाइन का उपयोग कर नई परियोजना
एक नया प्रोजेक्ट फ़ोल्डर बनाएँ
mkdir CoreApplication cd CoreApplication
डिफ़ॉल्ट कमांड लाइन विकल्प का उपयोग करके एक बहुत ही मूल डॉटनेट प्रोजेक्ट को स्कैफोल्ड करें
डॉटनेट नया
मचान के रूप में येमन का उपयोग करें
प्रोजेक्ट फ़ोल्डर बनाएँ और यो कमांड चलाएँ
yo aspnet
येओमन कुछ इनपुट्स पूछेगा जैसे प्रोजेक्ट टाइप, प्रोजेक्ट नेम आदि
अब डॉटनेट रीस्टोर कमांड चलाकर पैकेज को रिस्टोर करें और एप्लिकेशन रन करें
एप्लिकेशन को विकसित करने के लिए वीएस कोड का उपयोग करें
अब फाइलों को खोलें और एप्लिकेशन को चलाएं। आप अपनी सहायता के लिए एक्सटेंशन भी खोज सकते हैं।
ASP.NET कोर [Windows] में सेटअप परिवेश चर
ASP.NET कोर वर्तमान वातावरण को निर्धारित करने के लिए ASPNETCORE_ENVIRONMENT
पर्यावरण चर का उपयोग करता है। डिफ़ॉल्ट रूप से, यदि आप इस मान को सेट किए बिना अपना एप्लिकेशन चलाते हैं, तो यह स्वचालित रूप से Production
वातावरण में डिफ़ॉल्ट होगा।
> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Hosting environment: Production
Content root path: C:\Projects\TestApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
विंडोज में पर्यावरण चर सेट करना
कमांड लाइन पर
आप Windows में शामिल setx.exe कमांड का उपयोग करके कमांड प्रॉम्प्ट से आसानी से एक पर्यावरण चर सेट कर सकते हैं। आप इसका उपयोग आसानी से उपयोगकर्ता चर सेट करने के लिए कर सकते हैं:
>setx ASPNETCORE_ENVIRONMENT "Development"
SUCCESS: Specified value was saved.
ध्यान दें कि पर्यावरण चर वर्तमान खुली खिड़की में सेट नहीं है। अद्यतन वातावरण देखने के लिए आपको एक नया कमांड प्रॉम्प्ट खोलने की आवश्यकता होगी। यदि आप एक प्रशासनिक कमांड प्रॉम्प्ट खोलते हैं और / M स्विच जोड़ते हैं, तो सिस्टम चर (केवल उपयोगकर्ता चर के बजाय) सेट करना संभव है:
>setx ASPNETCORE_ENVIRONMENT "Development" /M
SUCCESS: Specified value was saved.
वैकल्पिक रूप से PowerShell का उपयोग करके , आप चर सेट करने के लिए PowerShell का उपयोग कर सकते हैं। PowerShell, साथ ही सामान्य उपयोगकर्ता और सिस्टम चर में, आप $Env:
कमांड का उपयोग करके एक अस्थायी चर भी बना सकते हैं:
$Env:ASPNETCORE_ENVIRONMENT = "Development"
यह चर आपके पावरशेल सत्र की अवधि तक रहता है - एक बार जब आप विंडो को बंद कर देते हैं तो पर्यावरण अपने डिफ़ॉल्ट मान पर वापस लौट आता है।
वैकल्पिक रूप से, आप उपयोगकर्ता या सिस्टम वातावरण चर को सीधे सेट कर सकते हैं। यह विधि वर्तमान सत्र में पर्यावरण चर को नहीं बदलती है, इसलिए आपको अपने परिवर्तनों को देखने के लिए एक नई PowerShell विंडो खोलने की आवश्यकता होगी। पहले की तरह, सिस्टम (मशीन) चर को बदलते हुए प्रशासनिक पहुंच की आवश्यकता होगी
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
विंडोज़ कंट्रोल पैनल का उपयोग करना यदि आप कमांड प्रॉम्प्ट के प्रशंसक नहीं हैं, तो आप आसानी से अपने माउस का उपयोग करके अपने वेरिएबल्स को अपडेट कर सकते हैं। विंडोज़ स्टार्ट मेनू बटन पर क्लिक करें (या विंडोज की दबाएं), environment variables
खोज करें , और पर्यावरण संपादित करें चुनें। आपके खाते के चर:
इस विकल्प को चुनने से सिस्टम गुण संवाद खुल जाएगा
अपने सिस्टम पर वर्तमान परिवेश चर की सूची देखने के लिए पर्यावरण चर पर क्लिक करें।
मान लें कि आपके पास पहले से ASPNETCORE_ENVIRONMENT
नामक ASPNETCORE_ENVIRONMENT
, तो नया ... बटन पर क्लिक करें और एक नया अकाउंट एनवायरमेंट वेरिएबल जोड़ें: अपने सभी परिवर्तनों को सहेजने के लिए ठीक पर क्लिक करें। नए परिवेश चर लोड किए गए हैं, यह सुनिश्चित करने के लिए आपको किसी भी कमांड विंडो को फिर से खोलना होगा।