SharePoint托管应用程序未在发布后工作
-
10-12-2019 - |
题
我创建了一个基于Visual Studio 2012中的模板的简单的Hello World SharePoint托管应用程序。我什么都没有添加。当我打f5时,但是当我发布并将它添加到我的应用程序目录并尝试将其添加到网站时,它首先询问是否信任它,(我点击“信任它”),然后我显示“页面不能显示,确保Web地址正确,Blah Blah“。当您打F5和发布SP应用程序时,有什么不同?当您命中F5时,URL以开始
http://app-9393939394.myappdomain/....
.
但是当您发布它时,URL看起来像
http://mySPsite/_layouts/15/.....
.
感谢您的建议,我很欣赏它。
解决方案
当您按下SharePoint项目的Visual Studio应用程序中的F5时,Visual Studio将将浏览器打开到以下URL之一:
http://[host web URL]/_layouts/15/viewlsts.aspx (no app permissions requested)
http://[host web URL]/_layouts/15/appInv.aspx... (app permissions requested)
.
这将在网站内容列表中显示您的应用程序(您还可以从SharePoint站点上的“快速启动或站点操作”菜单中访问此链接)。这也是从App目录添加应用程序后拍摄的URL。但是,如果您尝试点击应用程序的链接,则会看到URL以此格式:
http://[host web URL]/_layouts/15/appredirect.aspx?instance_id={GUID}
.
与SharePoint应用程序,有两个SPWEBS涉及:主机Web 和 app web 。 主机web 是用户安装应用程序的spweb,而 app web 是包含app实例的隔离存储的spweb(对于应用程序可能提供的任何内部资源如列表,HTML / CSS / JS资产等)出于安全原因,您的应用程序web 应位于单独的 app域中,与域不同SharePoint已安装。
appledirect.aspx页面,因为名称建议,将您重定向到您在App的AppManifest.xml文件中指定的起始页面,它以格式为:
.
http://[app prefix][app hash].[app domain]/[relative site URL]/[app name]/Pages/Default.aspx
如果在尝试附加应用程序的起始页面时获得404个错误,它是因为您必须做一些它的工作来配置应用程序域,以便每个人都可以访问应用程序域中的页面。这涉及在DNS中设置App域并创建前向查找区域和CNAME别名(因为每个应用程序Web的URL都包含唯一的哈希)。在这个技术文章中,详细介绍了这些步骤。