Orchar Core 创建一个模块化的ASP.NET Core应用程序
您将构建什么?
您将构建一个模块化的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应用程序的更多相关文章
- C#无限极分类树-创建-排序-读取 用Asp.Net Core+EF实现之方法二:加入缓存机制
在上一篇文章中我用递归方法实现了管理菜单,在上一节我也提到要考虑用缓存,也算是学习一下.Net Core的缓存机制. 关于.Net Core的缓存,官方有三种实现: 1.In Memory Cachi ...
- 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. ...
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序 不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻 ...
- 一个Mini的ASP.NET Core框架的实现
一.ASP.NET Core Mini 在2019年1月的微软技术(苏州)俱乐部成立大会上,蒋金楠老师(大内老A)分享了一个名为“ASP.NET Core框架揭秘”的课程,他用不到200行的代码实现了 ...
- 手写一个简版 asp.net core
手写一个简版 asp.net core Intro 之前看到过蒋金楠老师的一篇 200 行代码带你了解 asp.net core 框架,最近参考蒋老师和 Edison 的文章和代码,结合自己对 asp ...
- 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 学习ASP.NET Core Razor 编程系列五——Asp.Net Core Razor新建模板页面
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- ASP.NET Core 入门教程 9、ASP.NET Core 中间件(Middleware)入门
一.前言 1.本教程主要内容 ASP.NET Core 中间件介绍 通过自定义 ASP.NET Core 中间件实现请求验签 2.本教程环境信息 软件/环境 说明 操作系统 Windows 10 SD ...
- ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门
一.前言 1.本教程主要内容 ASP.NET Core MVC控制器简介 ASP.NET Core MVC控制器操作简介 ASP.NET Core MVC控制器操作简介返回类型简介 ASP.NET C ...
随机推荐
- 【原创】利用“进程注入”实现无文件不死webshell
引子 上周末,一个好兄弟找我说一个很重要的目标shell丢了,这个shell之前是通过一个S2代码执行的漏洞拿到的,现在漏洞还在,不过web目录全部不可写,问我有没有办法搞个webshell继续做内网 ...
- miniFTP项目实战一
项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务 ...
- 基于Python的决策树分类器与剪枝
作者|Angel Das 编译|VK 来源|Towards Data Science 介绍 决策树分类器是一种有监督的学习模型,在我们关心可解释性时非常有用. 决策树通过基于每个层次的多个问题做出决策 ...
- 深入浅出Mybatis系列(二)---Mybatis入门
一.Mybatis环境搭建及简单实例 1. 新建web项目, 添加依赖包:mybatis包.数据库驱动包(我使用的是mysql).日志包(我使用的是log4j), 由于我的是maven项目, 那么添加 ...
- idea项目在maven projects中显示灰色的解决办法。建新建module src变成标准的文件夹
在使用idea的过程中,有时会遇到其中一个maven模块变成灰色(可以通过view - tool windows -> maven projects 现实),如下所示: 造成这个的原因可能是忽略 ...
- jQuery最后案例:商标展示
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- jQuery中的基本过滤选择器(四、三)::first、:last、:not() ... ...
<!DOCTYPE html> <html> <head> <title>基本过滤选择器</title> <meta http-equ ...
- SpringCloud升级之路2020.0.x版-24.测试Spring Cloud LoadBalancer
本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 通过单元测试,我们 ...
- Flink提交流程和架构
一.Flink提交任务的流程 Flink任务提交后,Client向HDFS上传Flink的jar包和配置,之后向Yarn ResourceManager提交任务,ResourceManager分配Co ...
- T-SQL - query03_去重查询|模糊查询|排序|分组|使用函数
时间:2017-09-29 整理:byzqy 本篇仍以"梁山好汉"数据表为例,介绍几个常用的 T-SQL 查询语句: 去重查询,关键字:distinct 使用通配符模糊查询,关键字 ...