SharePoint - 应用程序

在本章中,我们将介绍SharePoint Apps.应用程序模型是SharePoint的扩展的新开发部署和托管模型.作为SharePoint 2013中的开发人员,我们可以选择使用解决方案模型(服务器场或沙箱解决方案)或使用应用程序模型.

Microsoft文档和指南建议您喜欢该应用程序对解决方案模型进行建模,这可能是非常有效的指导.但是,您必须考虑应用程序模型,这是SharePoint 2013的重要补充,而解决方案模型自SharePoint 2007以来就已存在.

因此,开发的知识库解决方案模型明显优于开发应用程序的知识库的当前状态.

应用程序还没有足够长的时间让人们分享使用它的真实世界体验.我认为了解应用模型及其优缺点非常重要.

应用特征

应用特性在下方和下方给出;

  • 从开发人员的角度来看,第一个也许是最重要的是应用程序中的所有代码都是在SharePoint服务器.这意味着代码是在用户浏览器中运行的JavaScript,或者是在某些外部服务器上运行的代码.

  • 由于所有代码都是在SharePoint之外运行,与SharePoint的通信是通过Web服务完成的,这意味着您正在使用客户端对象模型或REST API.

  • 没有任何情况您可以在SharePoint应用程序中使用服务器对象模型.

  • 完成应用程序构建后,您要将其放入公共应用程序中商店或本地应用程序目录.这需要审核流程,并且您需要遵循一些规则才能使您的应用有资格进入公共应用商店.

  • 其他选项是将您的应用程序放在Web应用程序中的本地应用程序目录中,该应用程序目录只是一个网站集,已由管理中心配置为应用程序目录.

  • 将应用程序部署到目录存储后,具有网站集所有者权限的用户可以将其安装在SharePoint网站中.

应用类型

您可以构建不同类型的应用,如下所示:

SharePoint托管应用

第一个是SharePoint托管应用程序。 顾名思义,此类应用程序托管在SharePoint场中

重要功能是 :

  • 它托管在安装它的网站的子网站中,这个子网站的行为大部分都与其他网站一样.

  • 它可以包含列表,库,页面,内容类型等.

  • 构建SharePoint托管应用程序的基础知识类似于构建SharePoint解决方案的基础知识.

    • 我们有一个功能.

    • 我们可以为该特征添加元素,并使用CAML定义这些元素.

    • 对于Visual中的设计师的许多元素Studio.

    • 我们可以添加网站页面.

    • 我们可以添加服务器控件这些网站页面.

    • 我们无法为这些网站页面添加代码,但我们可以添加JavaScript代码.

    • 现在一旦超越了事情开始变得越来越不相似.

云端托管应用

其他两种类型的应用,即提供商托管和自动托管,被归类为云端托管应用.重要功能包括 :

  • 这些应用程序位于SharePoint外部的站点中.

  • Provider-Hosted和Auto-Hosted之间的最大区别在于谁将创建和管理这个外部网站 :

    • 在提供商托管的应用程序中,即您或您的组织.

    • 在自动托管应用程序中,即Microsoft.

  • 构建云托管应用程序与构建任何其他网站相同.

  • 如果您是.NET开发人员,则可能正在使用MVC或Web窗体.但是,您不仅限于这些技术.您可以使用您想要的任何Web技术构建云托管应用程序.构建完应用程序后,在提供商托管方案中,您将按照对其他任何网站的方式将应用程序部署到您的网站.

  • 在自动托管方案中,您使用Visual Studio创建应用程序包.它是一个等同于解决方案包的应用程序,然后您可以将其上载到SharePoint Online和站点.如有必要,我们将配置一个数据库供您托管您的应用.

  • 自动托管应用只能与SharePoint Online一起使用,不支持一个内部部署的农场.

以下是相同的示例,我们已在App Model章节中介绍过.

让我们看看一个简单的SharePoint托管应用程序示例,打开Visual Studio并选择File → 新的 → 项目菜单选项.

第1步 : 打开Visual Studio并选择 File → 新的 → 项目菜单.

项目菜单

第2步 : 在左侧窗格中选择 Templates →  Visual C# →  Office/SharePoint 然后在中间窗格中选择 App for SharePoint .

在"名称"字段中输入名称,单击"确定",您将看到以下对话框.

App for SharePoint

在新应用程序中对于SharePoint,我们需要添加要调试的SharePoint站点URL,然后选择SharePoint托管的模型作为您要为SharePoint托管应用程序的方式.

第3步 : 转到SharePoint管理中心并复制SharePoint URL.

SharePoint URL

第4步 : 将URL粘贴到 New App for SharePoint 对话框中,如下所示.

适用于SharePoint的新应用程序

步骤5 : 单击下一步,它将打开连接到SharePoint 对话框,我们需要在该对话框中登录.

连接到SharePoint

步骤6 : 输入您的凭据,然后单击登录按钮.成功登录SharePoint站点后,您将看到以下对话框 :

登录

第7步 : 单击完成.创建项目后,单击Solution Explorer中的 AppMenifest.xml 文件.

AppMenifest.xml

步骤8 : 点击权限标签.范围下拉列表将打开.

权限标签

第9步 : 在"范围"下拉列表中,选择 Web ,这是您正在配置的权限范围.在Permission下拉列表中,选择Read,这是您正在配置的权限类型.

选择网页

第10步 : 打开Default.aspx文件并将其替换为以下代码.

<%-- The following 4 lines are ASP.NET directives needed when 
   using SharePoint components --%>

<%@ Page Inherits = "Microsoft.SharePoint.WebPartPages.WebPartPage,
   Microsoft.SharePoint, Version = 15.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" MasterPageFile = "~masterurl/default.master"
   Language = "C#" %>

<%@ Register TagPrefix = "Utilities" Namespace = "Microsoft.SharePoint.Utilities"
   Assembly = "Microsoft.SharePoint, Version = 15.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<%@ Register TagPrefix = "WebPartPages"
   Namespace = "Microsoft.SharePoint.WebPartPages" Assembly = "Microsoft.SharePoint,
   Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>

<%@ Register TagPrefix = "SharePoint"
   Namespace = "Microsoft.SharePoint.WebControls" Assembly = "Microsoft.SharePoint,
   Version = 15.0.0.0, Culture = neutral, PublicKeyToken = 71e9bce111e9429c" %>

<%-- The markup and script in the following Content element 
   will be placed in the <head> of the page --%>

<asp:Content ID = "Content1" ContentPlaceHolderID = "PlaceHolderAdditionalPageHead" 
   runat = "server">
   <script type = "text/javascript" src = "../Scripts/jquery- 1.6.2.min.js"></script>
   <link rel = "Stylesheet" type = "text/css" href = "../Content/App.css" />
   <script type = "text/javascript" src = "../Scripts/App.js"></script>
</asp:Content>

<asp:Content ID = "Content2" ContentPlaceHolderID = "PlaceHolderMain"
   runat = "server">
   <script type = "text/javascript"> 
      function hello() {
         var currentTime = new Date();
         $get("timeDiv").innerHTML = currentTime.toDateString();
      }
   </script>
   <div id = "timeDiv"></div>
   <input type = "button" value = "Push me!" onclick = "hello();" />


步骤11 : 转到解决方案资源管理器,右键单击项目并选择"发布".点击打包应用按钮.这将构建您的SharePoint托管应用程序,并为您准备部署到SharePoint站点.

打包应用程序

您将看到以下文件夹,其中包含* .app文件.

应用程序文件

步骤12 : 导航到SharePoint在线站点.

导航到SharePoint

第13步 : 单击左窗格中的 Apps for SharePoint .将打开一个新页面.

SharePoint应用程序

第14步 : 将文件拖到此处上传.

Uploading Files

文件一旦文件上传后,您将看到以下页面 :

上传的文件标签

第15步 : 单击左窗格中的选项 -  站点内容.点击添加应用图标,如下面的屏幕截图所示;

网站内容

将打开一个新页面.

步骤16 : 选择您的应用 → 在左侧窗格中,从您的组织,您将看到该应用程序可供安装.点击该应用.

从组织中选择应用

步骤17 : 单击该应用程序时,将打开一个对话框,如以下屏幕截图所示.点击信任它.

对话框

第18步 : 您将看到该应用已安装.安装完成后,您可以单击该应用程序.

App Installed

您将看到以下页面,其中包含一个按钮 :

Page

当您单击按我按钮时,它将显示当前日期.

按我按钮

自动隐藏

让我们看一下自动主题的简单示例,方法是创建一个新项目.

第1步 : 选择 App for SharePoint 2013 并单击确定.

App for SharePoint 2013

第2步 : 选择Autohosted.

Select Autohosted

步骤3 : 选择ASP.NET MVC Web Application并单击Finish.

ASP.NET MVC Web Application

创建项目后,发布您的应用.其余步骤与SharePoint托管选项的步骤相同.