(一)项目背景
Sharepoint是微软的一个产品,很多公司都在使用它,也有很多公司以前使用它,现在可能需要移植到别的平台,也可能只是移植其中的文件存储,比如说移植到微软云,或者亚马逊云存储。SuperRocket.SPSync,就是在类似这样的背景下,应运而生。目前实现的功能主要是同步sharepoint上的文件存储到自己的服务器,同时支持同步到亚马逊云存储。计划后期可以加入别的存储,比如说Azure云存储。
SuperRocket.SPSync 基于asp.net著名的项目- abp 和 SuperRocket.Orchard. SuperRocket.Orchard 也是一个基于abp的项目模板,支持asp.net mvc开发和asp.net webapi开发.
(二)架构图如下

(三)序列图如下

(四)如何运行?
- 您需要安装visual studio 2015 update 3 或者 visual studio 2017; 
- 下载代码或者克隆代码到本地, 地址 : https://github.com/AccentureRapid/SuperRocket.SPSync.git ; 
- 在 visual studio 中打开项目解决方案文件, 如图: 

- 在sql server 中创建数据库,并切修改在web.config中修改连接字符串,这个数据库会用来存储用户信息,租户信息和 Hangfire jobs的信息, 连接字符串如下图: 
- 打开visual studio的 Package Manager Console, 并且确认 "SuperRocket.Orchard.EntityFramework" 作为默认项目被选中. 在visual studio的解决方案管理器里, 确认 "SuperRocket.Orchard.Web" 被设置成起始项目. 然后运行命令 "update-database -verbose" 执行数据库的初始化工作. 

- 在App_Data文件夹里设置 sharepoint 的配置文件,如图: 
- 如果您想要把Sharepoint的文档库同步到AWS S3. 需要修改web.config的亚马逊云的配置节点, 如图: 

- 在IIS中创建一个站点,并且设置目录到您的站点. 在浏览器中打开: http://localhost:8083/ ,默认用户是 admin, 密码 123qwe. 成功运行您可以看到下图: 

- 在浏览器中打开 : http://localhost:8083/hangfire ,如下图,为Hangfire的job管理监控页面。 

- 使用 Postman 去触发同步文档的任务,地址 :http://localhost:8083/api/services/app/sharePointSyncService/EnqueueSharepointSyncJob 就是如此简单! 您可以在hangfire的管理界面管理和监控任务。 
有用的链接:
- Introduction to ASP.NET Boilerplate 
- ASP.NET Boilerplate is a starting point for new modern web applications using best practices and popular tools. 
- ASP.NET Boilerplate Documentation 
- Using ASP.NET Core, Entity Framework Core and ASP.NET Boilerplate to Create NLayered Web Application (Part I) 
- Using ASP.NET Core, Entity Framework Core and ASP.NET Boilerplate to Create NLayered Web Application (Part II) 
- A Multi-Tenant (SaaS) Application With ASP.NET MVC, Angularjs, EntityFramework and ASP.NET Boilerplate 
联系我:
- QQ: 1023080982 
- QQ群:149385300 
- Email : (dystudio@qq.com) 
- Github https://github.com/david0718/ 
- 博客园 http://www.cnblogs.com/david0718/ 
Contributors
- DYStudio.Net 
原文地址:http://www.cnblogs.com/david0718/p/6877623.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
