0

我有一个小问题,以一个大话题结束。是否有可能 - 是的,如何 - 在 SharePoint 2013 托管应用程序中使用 C# 代码?

我试图在我的项目中有一个 .asmx 文件。然后我得到这个错误。

  @"Error 1
        CorrelationId: 9c1ea930-a131-4f5b-bff5-8a1a61fe34d9
        ErrorDetail: There was a problem with activating the app web definition.
        ErrorType: App
        ErrorTypeName: App Related
        ExceptionMessage: Microsoft.SharePoint.SPException: Exception from HRESULT: 0x81070964 ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x81070964

然后我尝试了一些教程,比如......

http://chuvash.eu/2012/02/13/custom-httphandler-in-sharepoint-for-getting-dynamic-javascript-code/
http://blogs.msdn.com/b/kaevans/archive/2010/08/04/deploying-an-asp-net-httphandler-to-sharepoint-2010.aspx
http://social.technet.microsoft.com/wiki/contents/articles/24194.sharepoint-2013-create-a-custom-wcf-rest-service-hosted-in-sharepoint-and-deployed-in-a-wsp.aspx

但有时我没有正确理解,或者有时我在编译所有内容时遇到其他问题。我在获取程序集 ID/名称时也遇到了问题。因为项目没有编译好的 DDL 文件。

我一般想要什么?带有 SP 托管应用程序(适用于 SP 2013)的 .app 文件,其中包括用于 SP 客户端对象模型的 Web 服务。

所以我考虑在 CodeBehind 中使用“default.aspx”。所以我可以在 aspx 的“后面”执行脚本。但是后来它找不到程序集......或者还有别的东西。

有人可以帮我吗?如果你有一些想法,你可以!拜托!提供给我。谢谢!

4

4 回答 4

1

SharePoint 托管应用程序不允许在服务器上执行服务器端代码,这是 SharePoint 应用程序的全部理念,不应在 SharePoint 前端服务器中执行任何操作。与 Farm 解决方案不同,SharePoint 托管应用程序在客户端上运行,并且只能通过可使用 REST 或 JSOM 调用的一组预定义服务访问 SharePoint 资源。

如果您需要自定义代码,您可以创建 WCF 服务,将其部署在 ISAPI 下并从您的应用程序中调用它,但这在 SharePoint Online 中不可行。

至于您的问题,您当然可以使用 ASPX 页面,但您永远不会为它添加代码,因为这些页面存储在页面库中,并且按照设计,它存储在内容数据库中,因此任何代码执行都是否认。

只有像 _layouts 页面这样存储在硬盘上的 aspx 页面才能有代码。

于 2016-11-08T08:09:12.180 回答
0

了解 SharePoint 托管的应用程序和提供程序托管的应用程序之间的区别很重要:

SharePoint 托管的应用程序

SharePoint 托管的应用程序,或所有组件都托管在本地或 Office 365 SharePoint 场上的应用程序。SharePoint 托管的应用程序安装在称为主机 Web 的 SharePoint 2013 网站上。他们将资源托管在主机 Web 的隔离子站点上,称为应用程序 Web。该应用程序是使用带有 CSOM 或 REST 调用的 HTML/JavaScript 创建的

提供商托管的应用程序

SharePoint 提供程序托管的应用程序包括在 SharePoint 场之外部署和托管的组件。它们安装在主机 web 上,但它们的远程组件托管在另一台服务器上。该应用程序在 SharePoint 外部的服务器中运行。它有自己的基础设施,提供者负责保持其运行。它们允许您使用服务器端代码并​​使用 .NET CSOM。

此图片将为您提供不同托管解决方案的概述:

不同的托管解决方案

访问以下链接了解更多信息: https ://msdn.microsoft.com/en-us/library/office/fp179887(v=office.15).aspx

于 2015-11-25T15:12:28.680 回答
0

SharePoint 加载项模型使用 ASPX 页面,其中还可以包含 ASPX 控件。但是,调用的任何方法都仅限于客户端脚本 - 即 JavaScript 和 SharePoint 的 JSOM(JavaScript 对象模型),它是客户端对象模型的子集。

于 2016-11-08T03:45:02.970 回答
0

SharePoint 应用程序在客户端上下文中运行。您可以仅使用 JS、HTML、CSS、JSOM 来创建 SharePoint 应用程序。您不能将 C# 用于 App(不包括 CSOM,例如,您可以使用它来创建远程事件接收器)

如果您需要对本地版本的 SharePoint 实施某些功能,请使用传统的服务器端解决方案,而不是 App。

于 2015-11-25T07:00:25.230 回答