टीएल; डीआर: GitHub repository, जहां सभी आवश्यक नलसाजी कोड के साथ डेमो परियोजनाएं रहती हैं। नैन्सी बनाम 1.4.3 के साथ-साथ prerelease v। 2.0.0-barneyrubble के लिए। ।
नैन्सी वी 2, जो नेट कोर और .NET स्टैंडर्ड का समर्थन करता है, प्री-रिलीज़ राज्य में अब भी है तो भले ही आप स्थिर वी के साथ रहना चाहते हैं 1 शाखा -। कोई बात नहीं।
1) बनाएं एक नया खाली ASP.NET कोर वेब अनुप्रयोग
2) :
यहाँ कैसे खरोंच, जो मेरे लिए काम किया से यह करने के लिए पर एक कदम-दर-कदम है ओपन project.json
(अनिवार्य आप नैन्सी वी के साथ रहना पसंद करते हैं जाएगा 1।), "net46"
को "netcoreapp1.0"
से "Microsoft.NETCore.App"
निर्भरता और परिवर्तन लक्ष्य ढांचे को हटाने, तो frameworks
अनुभाग है कि ऐसा दिखाई देगा:
"frameworks": {
"net46": {}
},
3) प्रोजेक्ट.जेसन: "Microsoft.AspNetCore.Owin"
और "Nancy"
पर निम्न निर्भरता जोड़ें। वी के लिए project.json
की निर्भरता अनुभाग लिखने के समय 1:।
"dependencies": {
// Ommited dependencies
"Microsoft.AspNetCore.Owin": "1.0.0",
"Nancy": "1.4.3"
},
वी के लिए 2:।
"dependencies": {
// Ommited dependencies
"Microsoft.AspNetCore.Owin": "1.0.0",
"Nancy": "2.0.0-barneyrubble"
},
4) एक वर्ग IRootPathProvider
को लागू करने बनाएँ और अपने wwwroot
फ़ोल्डर के लिए पथ प्रदान करेगा IHostingEnvironment
वस्तु का उपयोग करके रनटाइम पर (WebRootPath
संपत्ति):
public class AppRootPathProvider : IRootPathProvider
{
private readonly IHostingEnvironment _environment;
public AppRootPathProvider(IHostingEnvironment environment)
{
_environment = environment;
}
public string GetRootPath()
{
return _environment.WebRootPath;
}
}
5) एसी बनाएं लड़की DefaultNancyBootstrapper
से ली गई है, जो IHostingEnvironment
वस्तु पुनः प्राप्त है और यह पहले से परिभाषित रूट प्रदाता को पारित करेंगे। यह भी अपने स्वयं के साथ डिफ़ॉल्ट StaticContentsConventions
बदल जाएगा:
public class AppNancyBootstrapper : DefaultNancyBootstrapper
{
public AppNancyBootstrapper(IHostingEnvironment environment)
{
RootPathProvider = new AppRootPathProvider(environment);
}
protected override void ConfigureConventions(NancyConventions conventions)
{
base.ConfigureConventions(conventions);
conventions.StaticContentsConventions.AddDirectory("css");
conventions.StaticContentsConventions.AddDirectory("js");
conventions.StaticContentsConventions.AddDirectory("fonts");
}
protected override IRootPathProvider RootPathProvider { get; }
}
6) ओपन Startup
वर्ग और यह एक साथ Configure
विधि में अंतिम पंक्ति की जगह:
app.UseOwin(x => x.UseNancy(options => options.Bootstrapper = new AppNancyBootstrapper(env)));
यह Bootstrapper पिछले चरण में बनाया लाभ उठाता है।
7) अब अपने NancyModule
परिभाषित करने के लिए समय है। वी1:
public class AppNancyModule : NancyModule
{
public AppNancyModule()
{
Get["/"] = _ => View["index"];
Get["/{fileName}"] = parameters => View[parameters.fileName];
}
}
वी 2:
public class AppNancyModule : NancyModule
{
public AppNancyModule()
{
Get("/", _ => View["index"]);
Get("/{fileName}", parameters => View[parameters.fileName]);
}
}
और तुम जाने के लिए अच्छा कर रहे हैं! बस अपनी स्थिर फाइलें wwwroot
में रखें - और आग लगें।