您将构建什么?
您将构建一个模块化的ASP.NET Core MVC Web应用程序,类似于Orchard Core附带的示例“Hello World”应用程序。它包括一个Web应用程序和一个模块。Web应用程序提供布局,而模块注册路线并响应主页请求。您可以参考Orchard Core中的以下项目了解更多信息。

  • src/OrchardCore.Mvc.Web
  • src/OrchardCore.Modules/OrchardCore.Mvc.HelloWorld

您需要什么?
当前版本的.NET SDK。你可以从这里下载https://dotnet.microsoft.com/download.。
一个文本编辑器和一个终端,您可以在其中运行DotNet CLI命令。

创建Orchard Core站点和模块。
有不同的方式可以为Orchard Core创建站点和模块。你可以在这里了解更多关于它们的信息。
在本指南中,我们将使用我们的代码生成模板。您可以使用以下命令安装模板的最新稳定版本:

dotnet new -i OrchardCore.ProjectTemplates::1.0.0-*

创建一个名为OrchardCore.Mvc的空文件夹,该文件夹将包含我们的项目。打开一个终端,导航到该文件夹,然后运行以下命令来创建Web应用程序:

dotnet new ocmvc -n OrchardCore.Mvc.Web

接下来创建Hello World 模块

dotnet new ocmodulemvc -n OrchardCore.Mvc.HelloWorld

提交项目引用

dotnet add OrchardCore.Mvc.Web reference OrchardCore.Mvc.HelloWorld

(可选)如果要在Visual Studio中打开解决方案,可以添加同时引用web应用程序和模块的解决方案文件。

dotnet new sln -n OrchardCore.Mvc
dotnet sln add OrchardCore.Mvc.Web\OrchardCore.Mvc.Web.csproj
dotnet sln add OrchardCore.Mvc.HelloWorld\OrchardCore.Mvc.HelloWorld.csproj

测试这个程序

从包含两个项目的OrchardCore.Mvc根文件夹中,运行以下命令以启动web应用程序:

dotnet run --project .\OrchardCore.Mvc.Web\OrchardCore.Mvc.Web.csproj

您的应用程序现在应该在以下端口上运行和侦听:

Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.

打开链接 https://localhost:5001/OrchardCore.Mvc.HelloWorld/Home/Index 可以看见Hello from OrchardCore.Mvc.HelloWorld.

布局来自主web应用程序项目,而控制器、操作和视图来自模块项目。

注册一个自定义的路由

默认情况下,模块中的所有路由都遵循模式{area}/{controller}/{action},其中{area}是模块的名称。我们将在模块中更改视图的路径以响应主页请求。

在OrchardCore.Mvc.HelloWorld的Startup.cs文件中,在Configure方法中添加自定义路由。

    routes.MapAreaControllerRoute(
name: "Home",
areaName: "OrchardCore.Mvc.HelloWorld",
pattern: "",
defaults: new { controller = "Home", action = "Index" }
);

您还可以在模块的“视图->主”文件夹中更改Index.cshtml文件,使其显示Hello World,类似于Orchard Core中的项目。

<h1>Hello World</h1>

重新启动应用程序并导航到主页(位于https://localhost:5001 显示Hello World消息。)

总结

您刚刚使用Orchard Core创建了一个模块化ASP.NET Core MVC web应用程序。它包括一个提供布局的web应用程序和一个响应主页请求的自定义模块

Orchar Core 创建一个模块化的ASP.NET Core应用程序的更多相关文章

  1. C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制

    在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...

  2. 008.Adding a model to an ASP.NET Core MVC app --【在 asp.net core mvc 中添加一个model (模型)】

    Adding a model to an ASP.NET Core MVC app在 asp.net core mvc 中添加一个model (模型)2017-3-30 8 分钟阅读时长 本文内容1. ...

  3. 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序

    使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...

  4. 一个Mini的ASP.NET Core框架的实现

    一.ASP.NET Core Mini 在2019年1月的微软技术(苏州)俱乐部成立大会上,蒋金楠老师(大内老A)分享了一个名为“ASP.NET Core框架揭秘”的课程,他用不到200行的代码实现了 ...

  5. 手写一个简版 asp.net core

    手写一个简版 asp.net core Intro 之前看到过蒋金楠老师的一篇 200 行代码带你了解 asp.net core 框架,最近参考蒋老师和 Edison 的文章和代码,结合自己对 asp ...

  6. 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  7. 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  8. ASP.NET Core 入门教程 9、ASP.NET Core 中间件(Middleware)入门

    一.前言 1.本教程主要内容 ASP.NET Core 中间件介绍 通过自定义 ASP.NET Core 中间件实现请求验签 2.本教程环境信息 软件/环境 说明 操作系统 Windows 10 SD ...

  9. ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC控制器简介 ASP.NET Core MVC控制器操作简介 ASP.NET Core MVC控制器操作简介返回类型简介 ASP.NET C ...

随机推荐

  1. Git(6)-- 记录每次更新到仓库(git clone、status、add、diff、commit、rm、mv命令详解)

    @ 目录 1.克隆现有仓库:git clone 2.检查当前文件状态 :git status 3.跟踪新文件:git add 4.暂存已修改的文件:git add 5.状态简览: git status ...

  2. RedisTemplate实现redis分布式锁

    RedisLockUtil.java package com.meeno.inner.oa.common.redis; import lombok.extern.slf4j.Slf4j; import ...

  3. Specification使用notin

    废话不多说直接贴代码 Specification<Employee> employeeSpecification = new Specification<Employee>() ...

  4. redisson 分布式加锁

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  5. WPF - 简单的UI框架 - 仪表盘

    源码链接:https://github.com/DuelWithSelf/WPFEffects 参考:https://www.cnblogs.com/duel/p/duel_clock.html 更新 ...

  6. Linux第一个动态库

    动态库一般以.so结尾,就是shared object的意思. 其基本生成步骤为   ⑴编写函数代码   ⑵编译生成动态库文件,要加上 -shared 和 -fpic 选项 ,     库文件名以li ...

  7. springboot 2.0 整合 RestTemplate

    首先导入springboot 的 web 包 <dependency> <groupId>org.springframework.boot</groupId> &l ...

  8. linux(3)--------SSH工具的安装使用

    0.一般安装服务端的Linux ssh是默认安装的可以运行ssh localhost测试一下是否可以链接 1.SSH是什么 1)ssh:Secure Shell  安全外壳协议 2)建立在应用层基础上 ...

  9. Java String 综述(上篇)

    摘要: Java 中的 String类 是我们日常开发中使用最为频繁的一个类,但要想真正掌握的这个类却不是一件容易的事情.笔者为了还原String类的真实全貌,先分为上.下两篇博文来综述Java中的S ...

  10. JavaWeb之文件上传、下载

    时间:2016-12-17 18:07 --文件上传概述上传不能使用BaseServlet1.文件上传的作用    例如网络硬盘,就是用来上传和下载文件的.2.文件上传对表单的限制    1)必须使用 ...