(一)项目背景
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跨平台或扫描二维码关注