使用.net core基于Razor Pages开发网站一些工作笔记

news/2024/5/9 0:46:56/文章来源:https://blog.csdn.net/weixin_34195546/article/details/93926279

本文是在实践工作中遇到的一些问题记录,并给出是如何解决的,.net core已经升级到3.0版本了,其实在项目中很早就已经在使用.net core来开发后台接口了,正好有个网站项目,就使用了Razor Pages来开发,从体验上来说,如果你熟悉Razor Pages的话,开发速度是非常快的,如果有趁手的框架,那就更是如虎添翼。

好了,闲话少说,接下来将遇到了这些杂乱的问题记录如下:

网站目录里面的_ViewImports.cshtml用途

_ViewImports.cshtml用于引入命名空间,引入后就可以在Razor Page页面上使用。每个目录(文件夹)都可以建一个 _ViewImports.cshtml 视图,这样当前目录下的所有Razor Page页面都可以除了可以使用根目录的 _ViewImports.cshtml 引入的命名空间外,还可以使用当前目录 _ViewImports.cshtml 引入的命名空间所有对象。有点继承的意思。

部分视图如何引入?

部分视图是很有用的一个功能特性,您可以把它当成webform时代的用户控件,在引入时,只需要通过如下代码即可以了:

<partial name="~/Views/Folder/_PartialName.cshtml" />

登录功能如果有记住密码,如何实现?

使用Razor Page开发网站时,如果在您的登录界面上有个记住用户功能,用户下次进来直接进入后台,不需要再次登录。实现这个功能,简单一点的方法就是使用cookie认证,在首次登录成功后,给用户颁发一个长期的cookie,代码如下:

await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme,new ClaimsPrincipal(claimsIdentity),new AuthenticationProperties{IsPersistent = true});

  基于上面的记住用户的功能,实现方式很多,以上代码用于生产环境需要评估安全风险,但对于内部系统,可以这样取巧实现;另外对于基于cookie的方式,还存在一个问题就是用户如果设置了退出浏览器自动清空一切历史记录的话,此方法失效。

后台接口时间格式序列化问题

在编写web api接口时,会遇到时间格式化的问题,如有的地方需要使用短时间格式(年-月-日,如2019-01-02),有的地方需要使用长时间格式(年-月-日 小时:分钟:秒),即时间显示需要具体到分钟秒这种格式,如果您的框架统一处理了时间格式为短时间格式,那么遇到长时间格式问题,就需要单独处理,序列化用得较多的组件就是 NewtonSoft.json,那么我们只需要自定义一个格式化时间的类,写个自定义格式化时间的类,继承自IsoDateTimeConverter,然后在对应的属性上加上这个特性即可,如下代码所示:

public class CustomizedDateTimeConverer : IsoDateTimeConverter{/// <summary>/// 构造函数/// </summary>public CustomizedDateTimeConverer() : base(){DateTimeFormat = "yyyy-MM-dd HH:mm:ss";}/// <summary>/// 带参构造函数/// </summary>/// <param name="format"></param>public CustomizedDateTimeConverer(string format) : this(){DateTimeFormat = format;}}

  接下来在Startup.cs里面配置一下,如下代码所示:

services.AddJsonOptions(options =>{CustomizedDateTimeConverer converer = new CustomizedDateTimeConverer();options.SerializerSettings.Converters.Add(converer);});

然后需要使用到的dto对象或者实体对象,打上这个特性即可,如下所示:

[JsonConverter(typeof(CustomizedDateTimeConverer), “yyyy-MM-dd HH:mm:ss”)]

这样就实现了对时间格式的灵活控制,在整个后台框架设置的输出时间格式为短时间格式时,有需要的情况下,我们仍然可以根据业务需要设置长时间格式,或者其它格式化方式。

使用AutoMapper如何忽略部分属性映射?

使用automapper进行对象映射时,可以减少您写大量的赋值语句,当然你在项目中偷懒直接使用和数据库表对应的那个实体,automapper就派不上用场了。使用automapper进行对象映射时,如果源对象和目标对象有些属性不同,或者要忽略掉,如何总呢?答案其实很简单,在对应的属性上打上这个[Ignore]特性即可:

/// <summary>/// 列表集合/// </summary>
        [Ignore]public int[] List { get; set; }

服务器可视化监控工具

项目上线后,需要对服务器进行监控,您不可能安排一个人天天守着服务器看,需要借助 Grafana 来搞定这个需求。

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知运维人员。

具体的使用教程网上很多,不做介绍。

原文链接:https://jhrs.com/2019/28454.html

转载于:https://www.cnblogs.com/jessory/p/11041488.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_767033.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java程序员菜鸟进阶(八)分享一个爬取B2B网站信息的程序

前段时间&#xff0c;女朋友如愿以偿的找到了销售的工作&#xff0c;第一天正式上班还挺高兴&#xff0c;第二天就开始愁眉苦脸了。就是因为他这销售实在是太麻烦&#xff0c;以后每天要到一些B2B网站去找一些客户信息&#xff0c;每天要找几百条&#xff0c;刚开始我还安慰的说…

推荐一个源代码浏览网站

原文&#xff1a; http://www.linuxers.cn/2010/04/23/%E6%8E%A8%E8%8D%90%E4%B8%80%E4%B8%AA%E6%BA%90%E4%BB%A3%E7%A0%81%E6%B5%8F%E8%A7%88%E7%BD%91%E7%AB%99/ 今天在逛水木linux dev版的时候发现了一个不错的网站&#xff0c;www.sooset.com &#xff0c;它可以提供在线…

[转贴] 著名社交网站LinkedIn的Java架构技术

在JavaOne 2008的会议上&#xff0c;著名社交网站LinkedIn的开发者做了2个关于LinkedIn网站的架构技术的演讲&#xff0c;目前这两个演讲的PPT已经可以下载了。下载地址如下&#xff1a; LinkedIn - A Professional Social Network Built with Java™ Technologies and Agile …

Android 开发者福利Google Developers中国网站发布

今天一早就听到各大QQ群&#xff0c;好友说Google 发布中国站点了&#xff0c;迫不及待的查看了究竟。 摘自原文 谷歌开发者公众号 我们很高兴地宣布&#xff0c;Google Developers 中国网站 (developers.google.cn) 正式发布&#xff01; 谷歌自带中文翻译&#xff0c;让我们…

网站原生app服务器安装环境,Websphere环境搭建及应用部署

3) 启动报错&#xff1a; SRVE0293E: [Servlet错误]-[null]: com.ibm.ws.webcontainer.webapp.WebAppErrorReport报错信息&#xff1a;[13-4-9 17:23:42:960 CST] 0000002d webapp E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet错误]-[null]: com.ibm…

九度搜索引擎点击优化_seo优化快排技术是什么?靠不靠谱?

近半年来市场上充斥着大量的seo 优化快速排名的产品&#xff0c;标榜着“指定词7-15天上首页”“不上首页不扣费”“核心算法&#xff0c;稳定官网排名”等各种宣传口号&#xff0c;让人眼花缭乱。那么&#xff0c;到底有没有优化快排的技术&#xff1f;现在这些产品靠不靠谱呢…

让您的网站拥有MSDN资源库搜索功能[转摘MSDN]

方式一 在您需要添加MSDN搜索链接的地方添加以下代码&#xff1a;<script language"Javascript" src"http://www.microsoft.com/china/msdn/search/msdn_search.js"> </script>使用以上代码&#xff0c;产生的搜索样式如下图所示&#xff1a;注…

国外SEO圣经[PDF]

本文专自&#xff1a; 国外的一本经典之作&#xff0c;专业人士称为“SEO圣经”。不教你用任何作弊手段欺骗搜索引擎&#xff0c;而给你一种正确的方法&#xff0c;让你走一条seo优化的康庄大道。将你引向网络营销的成功颠峰&#xff01;这是一本世界上最有名的SEO教程&#xf…

使用 Nginx 提升网站访问速度

本文主要介绍如何在 Linux 系统上安装高性能的 HTTP 服务器 —— Nginx、并在不改变原有网站结构的条件下用 Nginx 来提升网站的访问速度。Nginx 简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。 …

手机网站与普通网站的区别

手机网站与普通网站有很多不同的地方&#xff0c;所以在编写手机网站时&#xff0c;有很多问题需要注意&#xff0c;需要多测试。 1. 内容优先 手机分辨率比电脑的分辨率小很多&#xff0c;所以在手机版网页上只显示最主要的内容。下图所示是携程网的首页和手机版的首页。 2. 垂…

大型网站架构演变和知识体系

(摘自http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html) 大型网站架构演变和知识体系 之前也有一些介绍大型网站架构演变的文章&#xff0c;例如LiveJournal的、ebay的&#xff0c;都是非常值得参考的&#xff0c;不过感觉他们讲的更多的是每次演变的结果&…

HTTPS 方式访问网站

开发网页的时候&#xff0c;往往需要观察HTTP通信。 我使用的工具主要有两个&#xff0c;在Firefox中是Firebug&#xff0c;在IE中是Fiddler。但是&#xff0c;一直听别人说&#xff0c;付费软件HttpWatch是这方面最好的工具。 前几天&#xff0c;HttpWatch的官方网志刊登了一篇…

win7-VS2010-IIS网站的发布问题

前提&#xff1a;IIS配置已经完成   问题描述&#xff1a;我们在机房实验里&#xff0c;大家的都可以访问同学A发布的IIS网站&#xff0c;但是&#xff0c;A却不能访问我们每个人的网站&#xff0c;而我们也不能互相访问&#xff08;除了A&#xff09;。 问题解决&#xff1a…

大型网站--前端性能优化和规范

大型网站--前端性能优化和规范 Web性能涉及的范围太广&#xff0c;但一般web开发者在程序上线以后很多都曾遇到过性能的问题。普遍表现为页面速度开始急剧变慢&#xff0c;正常访问时间变的很长&#xff0c;或则干脆给你抛出异常错误页面。这里会涉及到很多可能发生的情况&…

网页设计-第四天-个人(个性)网站设计

个性网站设计 head 60px (50~70)banner 550px(500~600)色彩可以比企业站随意、鲜活&#xff0c;不用遵循3&#xff0c;6&#xff0c;9的原则footer 50px 小于head logo 可以设计的个性化一点&#xff0c;使用多边形&#xff0c;类似QQ登录时&#xff0c;多边形背景 使用钢笔…

网站易用性

1. 给logo添加替代文本 这样有两个好处&#xff1a;屏幕阅读器能识别logo图片代表的含义&#xff0c;图片未加载到时&#xff0c;也能告诉非视障用户那里是你的logo。 几种方法&#xff1a; <img src"logo.png" alt"前端界"> 或者&#xff0c;你用背…

【消息队列】转-大型网站架构之分布式消息队列

大型网站架构之分布式消息队列 以下是消息队列以下的大纲&#xff0c;本文主要介绍消息队列概述&#xff0c;消息队列应用场景和消息中间件示例&#xff08;电商&#xff0c;日志系统&#xff09;。 本次分享大纲 消息队列概述消息队列应用场景消息中间件示例JMS消息服务常用消…

实现网站国际化

插件&#xff1a;i18n项目管理工具&#xff1a;grunt需安装&#xff1a; grunt 和properties-reader&#xff08;i18n运行依赖&#xff09;在根目录下新建i18n文件夹&#xff0c;然后把i18n-parsers.coffee和i18n.coffee放在该文件夹(两文件在笔记最后)在js下面放**.json&#…

可视化网站教程:最流行的搭建工具及必学的7个功能

摘 要 记得刚进大学的时候&#xff0c;一位教授说大学里有十件必学的事情&#xff0c;其中有一件是&#xff1a;学会做网站。无论你是学什么的&#xff0c;像数据可视化&#xff0c;演示简历、作品或产品&#xff0c;都需要前端的知识。虽然目前有各种前端语言&#xff0c;像V…

网站变更服务器要重新备案吗,网站更换服务器要重新备案吗

网站更换服务器要重新备案吗 内容精选换一换Joomla是一套全球知名的内容管理系统&#xff0c;即Joomla CMS(Content Management System)。Joomla是使用PHP语言加上Mysql数据开发的软件系统&#xff0c;是网站的一个基础管理平台&#xff0c;适合从个人网站到各种企业网站、分类…