学习MVC之租房网站(十一)-定时任务和云存储

在上一篇<学习MVC之租房网站(十)-预约和跟单>完成了用户的预约看房以及后台操作员对预约看房的跟单操作。接下来会做定时发邮件的功能,并且用云存储进行上传图片的保存。

一 定时任务和邮件发送

a) 通过实现定时发邮件这个功能,在学习Quartz.Net的同时也能用用邮件发送。Quartz.Net支持各种各样灵活的定时配置,以天、周、月的周期都能支持。使用Quartz的时候,要涉及三个方面:IScheduler、Job和Trigger,自己写的任务作为Job,定时配置放在Trigger中,到了指定时间点时,Trigger会出发Job,大概就是这样,从下面可以看到多种定时方式

目前定时发邮件是在每天的固定时间点,向特定汇报房源的变化情况,只用到DailyAtHourAndMinute,其它的等用到了再看,这真是很好的工具。

要注意的是,Job是在独立的线程工作的,所以IOC容器的对象需要手动解析,另外要做好异常捕获和日志记录。

b) 发邮件的话,c#有一套完整的方法,Smtp服务器等使用了126的


二 UEditor和云存储

这儿主要是为了学习云储存并试用云存储服务,把从UEditor上传的房源图片内容保存到七牛云,之前都是保存在本地服务器的。把图片等尺寸大的文件放到专门的服务器已经是很普遍的做法,这可以保证本地服务器的流畅运行,节省本地服务器流量,而且专业的云存储服务商还提供CDN加速功能。

首先要配置UEditor,让上传的图片保存到七牛云而不是本地。在/net/Config.json中配置"imageUrlPrefix"的值为自己七牛云的存储空间地址;上传逻辑在/net/App_Code/UploadHander.cs,这儿根据七牛云的demo替换UEditor原本的代码,并赋值自己的AK、SK,Access/Secret Key是上传用得一对密钥。

但好像在上面不能自由创建文件夹,不能按照自定义的层级存储文件,只给提供了 “存储空间”一个层级。

按照上面的做法,在网页的内容管理就可以看到上传结果了

挺好用的,以后网站图片就都保存在这儿了。

注:

课程内容来自如鹏网(www.rupeng.com),专注于大学生就业的在线教育平台;

ASP.NET MVC课程 http://www.rupeng.com/News/9/640.shtml

学习MVC之租房网站(十一)-定时任务和云存储的更多相关文章

  1. 学习MVC之租房网站(十二)-缓存和静态页面

    在上一篇<学习MVC之租房网站(十一)-定时任务和云存储>学习了Quartz的使用.发邮件,并将通过UEditor上传的图片保存到云存储.在项目的最后,再学习优化网站性能的一些技术:缓存和 ...

  2. 学习MVC之租房网站(二)-框架搭建及准备工作

    在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和FrontWeb 一.编 ...

  3. 学习MVC之租房网站(三)-编写实体类并创建数据库

    在上一篇<学习MVC之租房网站(二)-框架搭建及准备工作>中,搭建好了项目框架,并配置了EF.Log4Net和进程外Session.接下来会编写Eneity类并采用CodeFirst的方式 ...

  4. 学习MVC之租房网站(四)-实现Service层并进行单元测试

    在上一篇<学习MVC之租房网站(三)-编写Eneity类并创建数据库>中,记录了编写Eneity类并采用CodeFirst的方式创建数据库的过程,接下来就到了Service层的实现了,并且 ...

  5. 学习MVC之租房网站(五)-权限、角色、用户管理

    在上一篇<学习MVC之租房网站(四)-实现Service层并进行单元测试>中,记录了实现Service层并进行单元测试的过程,接下来该到"正题"-MVC了,也就是UI层 ...

  6. 学习MVC之租房网站(六)-用户登录和权限控制

    在上一篇<学习MVC之租房网站(五)-权限.角色.用户管理>完成了权限.角色.用户的增删改查,现在将基于前面完成的内容,进行后台用户登录和权限控制功能的开发. 一.用户登录 用户登录涉及到 ...

  7. 学习MVC之租房网站(七)-房源管理和配图上传

    在上一篇<学习MVC之租房网站(六)-用户登录和权限控制>完成了后台用户登录和权限控制功能的开发,接下来要完成的是房源的管理,用户在后台新增.编辑房源信息,供前台用户操作. 一 房源管理 ...

  8. 学习MVC之租房网站(八)- 前台注册和登录

    在上一篇<学习MVC之租房网站(七)-房源管理和配图上传>完成了在后台新增.编辑房源信息以及上传房源配图的功能.到此后台开发便告一段落了,开始实现前台的功能,也是从用户的登录.注册开始. ...

  9. 学习MVC之租房网站(九)-房源显示和搜索

    在上一篇<学习MVC之租房网站(八)- 前台注册和登录>完成了前台用户的注册.登录.重置密码等功能,然后要实现与业务相关的功能,包括房源的显示.检索等. 一 房源显示 房源显示内容较多,涉 ...

随机推荐

  1. 阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结

    现在收集到如下有用的信息: 阿里巴巴公开的Java开发规范:https://yq.aliyun.com/articles/69327?utm_content=m_10088 google公开的Java ...

  2. ElasticSearch入门3: Spring Boot集成ElasticSearch

    第一步:创建项目elasticsearch 编写pom文件 <?xml version="1.0" encoding="UTF-8"?> <p ...

  3. ASP.NET Core 与 .NET Core 演变与基础概述

    https://github.com/dotnet/corehttps://github.com/aspnet/home 今天看到 .NET Core 的改名计划,感觉跨平台的时代快要来了,从之前的 ...

  4. 如何用Python来处理数据表的长宽转换(图文详解)

    不多说,直接上干货! 很多地方都需用到这个知识点,比如Tableau里.   通常可以采取如python 和 r来作为数据处理的前期. Tableau学习系列之Tableau如何通过数据透视表方式读取 ...

  5. JavaScript基础(一)概述

    JavaScript 概述 JS作用 验证表单(以前的网速慢) 页面特效(PC端的网页效果) 移动端(移动web和app) 异步和服务器交互(AJAX) 服务端开发(nodejs) 语言类型 js是一 ...

  6. java操作特殊字符需要注意的点

    在使用字符串替换,分离时 我们如果想替换一个字符串中的问号,我们就不能直接写问号,而要写[?] 实例如下 str = str.replaceAll("\""," ...

  7. Java之建造者模式(Builder Pattern)(转)

    1.概念 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. [构建与表示分离,同构建不同表示] 与抽象工厂的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者 ...

  8. Linux-(inotify-tools&rsync)

    inotifywait命令 mac中的是:fswatch,fsevents-tools. 1.命令格式: inotifywait [参数] [events] [targetDir] 2.命令功能: 平 ...

  9. Async异步编程入门示例

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. apk的php解析

    <?php/****************************************************** * Android APK File Parser * Author: ...