SharePoint Hosted App 2013 - 带有c#代码的ASPX

时间:2015-11-24 18:24:33

标签: c# asp.net sharepoint sharepoint-2013 hosted-app

我有一个小问题,以一个大话题结束。 是否可以 - 以及如何 - 在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 个答案:

答案 0 :(得分:1)

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

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

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

只有像_layouts页面一样存储在硬盘上的aspx页面可能会有代码。

答案 1 :(得分:0)

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

如果需要为内部部署版本的SharePoint实现某些功能,请使用传统的服务器端解决方案,而不是App。

答案 2 :(得分:0)

了解SharePoint托管的应用程序与提供商托管的应用程序之间的区别非常重要:

SharePoint托管的应用

SharePoint托管的应用程序,或所有组件托管在内部部署或Office 365 SharePoint场的应用程序。 SharePoint托管的应用程序安装在SharePoint 2013网站上,称为主机Web。他们的资源托管在主机Web的一个独立子网站上,称为app web。该应用程序是使用带有CSOM或REST调用的HTML / JavaScript创建的

提供商托管的应用

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

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

Different Hosting Solutions

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

答案 3 :(得分:0)

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