设为首页 收藏本站
查看: 719|回复: 0

[经验分享] 【SharePoint学习笔记】第1章 SharePoint Foundation开发基础

[复制链接]
累计签到:1365 天
连续签到:1 天
发表于 2015-9-27 15:00:48 | 显示全部楼层 |阅读模式
  
  SharePoint Foundation开发基础

第1章 SharePoint Foundation开发基础  SharePoint能做什么

企业信息门户
应用程序工具集(文档库、工作空间、工作流、维基、博客、面向团队的合作列表)
可以通过Workspace离线访问
工作流宿主
二次开发
企业内容管理(文档管理、记录管理、Web内容管理)
数据的存储中心(LINQ、CAML)
服务的宿主(通过基于WCF的客户端对象模型)
支持客户端UI订制
WPF客户端应用

SharePoint Foundation和SharePoint Server 2010的区别

SharePoint Foundation免费;
支持Win 2008 (sp2)/Win2008 R2;
开发目的Win7/Vista(sp2);
数据量上限4GB,搜索30W条数据

SharePoint Foundation新特性

大量采用Ajax异步调用
引入Ribbon

SharePoint2010基础概念

服务器场
    一系列服务器的集合。Web前端服务器、应用程序服务器、数据库服务器。
    每个服务器角色分成若干个服务器组。(处理请求、存储索引、负载均衡)(爬网服务器组、查询服务器组、其他应用程序服务器组、沙盒解决方案应用程序服务器组)(搜索服务器、数据库服务器、配置数据服务器、其他数据服务器)
    SharePoint2010可以搜索1亿条数据,Fast Search Server For SharePoint 2010可以多达10亿条,每个查询最多1000W条。
Web应用程序
    SharePoint2010建立于IIS7.0之上;
    Web应用程序扩展了IIS网站,具有运行端口、独立身份认证体系、独立应用程序池、独立web.config文件;
    一个Web应用程序由若干网站集组成,一个网站集只能存储在一个内容数据库中,内容数据库大小限制100GB;
    建议SharePoint的所有数据都通过SharePoint对象模型API来访问。
服务应用程序
    服务应用程序可以运行于不同的Web应用程序下。
    常见的服务应用程序:商业连接服务(BCS)、用户档案服务(UPS)、搜索服务(SS)、托管元数据服务(MMS)
网站集和网站
    网站集:一个数据存储和权限分配的独立单位;包含若干网站;必须建立在某个Web应用程序下面。
    网站:必须建立在网站集下面。
字段类型、网站栏、内容类型
    字段类型:大致同数据库字段类型;
    栏:字段类型的实例,大致同数据库表列;
    内容类型:网站栏的集合,可理解为一个一个的模板,(如员工内容类型,包含姓名、生日、邮件地址。)可单独添加到每一个列表或文档库。
列表和文档库
    列表:是存储数据的容器,SharePoint里用来存储数据的基本结构,大致同数据库表。可任意添加栏,可添加内容类型,支持多个内容类型。    插入纪录如数据库表;
    通知、任务、日历、讨论版、联系人、链接、调查等都是列表的一种。


    文档库:一种特殊的列表。   
    表单库、图片库、幻灯片库、维基页面库等都是文档库。

    列表、文档库都支持版本控制。    主要区别:文档库每个纪录有且仅有一个文件存在;
                       列表里可以没有文件或者若干文件作为附件。

   
    文档集

一组属性相同的文档,如销售类,技术类等文档。维护一套相同的属性。
        站点设置->站点集功能页面->激活“文档集”功能。激活后需要作为内容类型添加到相应文档库后使用。
    唯一ID
在站点集范围内按照一定的编码规则为文档编制统一编号。
站点集设置->站点集功能页面->激活“文档ID设置”功能。

SharePoint Foundation的服务器端对象模型
    概述
        服务器端对象模型、客户端对象模型。
        开放给用户的编程接口,避免直接访问数据库。直接访问数据库可以绕开SharePoint产品的限制。
            1.添加Microsoft.SharePoint.DLL引用;(C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\ISAPI)
            2.目标框架NET3.5,X64位兼容;必须在Web前端服务器可应用程序服务器上运行;
            3.新建SharePoint项目。
    HelloWorld
        1.NET3.5,x64
        2.引用Microsoft.SharePoint.DLL
        3.using Microsoft.SharePoint
        4.    const string siteURL = "http://localhost";
                using (SPSite site = new SPSite(siteURL))  //获取站点集
                {
                    SPWeb web = site.RootWeb;            //获取根站点
                    foreach(SPList list in web.Lists)
                        if (!list.Hidden)
                            Console.WriteLine(list.Title);
                   }
    站点集和站点

站点集:SPSite
站点:SPWeb

   列表和文档库
           列表:Microsoft.SharePoint.SPList;列表集合:Microsoft.SharePoint.SPListCollection。
           SPListCollection lists = web.lists;
           SPList list = lists[index];
           SPList list = lists["Announcement"];
           SPList list = lists[new Guid("....")];
           SPList list = web.GetListFromUrl("http://localhost/lists/announcements/allitems.aspx");
           SPList list = web.GetList["/lists/announcements"];
           列表不存在时,抛出System.IO.File.NotFoundException;
            
            SPlist list = lists.TryGetList("Announcements");
            在获取失败时,返回NULL。

            文档库:Microsoft.SharePoint.SPDocumentLibrary继承自 SPList。
            
    列表项和文件
            列表项:Microsoft.SharePoint.SPListItem,列表里的一条数据纪录;列表项集合:Microsoft.SharePoint.SPListItemCollection。
            SPListItem newItem = list.Items.Add();
            newItem["Title"]="标题";
            newItem["Body"]="正文";
            newItem.Update();
            
            文件:Microsoft.SharePoint.SPFile
            
            通过SPList操作文件:
            byte[] fileData = System.IO.File.ReadAllBytes(@"c:\test.txt");
            SPFile newFile = list.RootFolder.Files.Add("test.txt",fileData);
            
            读取文件:
            SPListItem item = list.GetItemById(1);
            SPFile file = item.File;
            byte[] fileData = file.OpenBinary();

            通过SPFileConlection对象上传文件:
            byte[] fileData = System.IO.File.ReadAllBytes(@"c:\test.txt");
            web.Files.Add(strURL + fileName,fileData);

    开发人员面板
            输出画面加载的细节信息。
            stsadm命令

SharePoint解决方案开发
        wsp安装包,可以直接上传和部署。实际是cab。
        _layouts目录,避免修改根文件夹下的系统文件。
        /ISAPI                                Web服务文件
        /Resources                      资源文件
        /Template/Admin          中央管理站点的应用程序页面
        /Template/ControlTemplates        ASP.NET用户控件
        /Template/Features        Feature定义文件
        /Template/Images           图片文件
        /Template/Layouts          系统文件
        /Template/Layouts/1033/Styles    样式文件
        /Template/Layouts/Clientbin         SliverLight文件
        /Template/logs                系统日志文件
        /Template/SiteTemplates                站点定义文件
        /Template/Themes           站点主题文件
        /Template/Xml                 自定义字段类型文件

        Feature - 功能,可停止和激活。
        手动创建一个Feature,ID,Title,Version,Scope,Hidden,ImgUrl,Description。
                Scope:Farm,WebApplication,Site,Web。生效范围。
        手动创建解决方案包
                makecab.exe命令生成方案包;stsadmin部署方案包。

SharePoint浏览器
    显示SharePoint站点结构。
    可通过二次开发扩展SharePoint浏览器功能。
    要求所运行的服务器上必须安装有SharePoint Foundation或以上版本,并配置为单独的服务器场或者Web前端服务器。

SharePoint Designer 2010
    禁止Designer:管理中心->常用应用程序管理设置(General Applictation Settings)->SharePoint Designer,完全禁止或部分禁止。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119603-1-1.html 上篇帖子: SharePoint 几个重要且好玩的JS函数 一 下篇帖子: 千万别动SharePoint数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表