一位同事正在评估为其公司购买基于网络的应用程序。他们正在研究的应用程序之一是用ASP.NET编写的。他发表评论说,他们希望他们能够“无缝地将ASP.NET应用程序整合到我们的用户每天访问的网站和仪表板中”。
ASP.NET技术是否存在内在的东西,任何现成的ASP.NET应用程序都可以无缝集成到SharePoint中,而传统的ASP则不是这样?
ASP.NET技术在自动SharePoint集成方面优于传统ASP应用程序,还是所有Web应用程序在SharePoint中运行相同?
答案 0 :(得分:5)
ASP.NET页面和模块可以在SharePoint中运行,但是您不能将Web应用程序放入SharePoint中。在学习SharePoint系统后,您可能会发现大多数代码都可以集成,但它永远不会是无缝的。唯一相信那些依赖白皮书的人。
SharePoint网站集是Web应用程序的“所有者”,您需要将ASPX页面和dll部署到现有的Web应用程序中。
SharePoint拥有并定义了web.config,因此您必须添加它。
编译成DLL的代码必须部署到SharePoint,然后才能部署到GAC,然后在带有4个部件名的web.config中注册,或者在Web应用程序的bin文件夹中注册,在这种情况下代码访问需要将安全指令添加到web.config。
部署ASPX页面的最直接方法是将它们放入_layouts文件夹(更好的是子文件夹)。页面的代码隐藏也可以添加到文件夹中,它们将像常规ASP.NET一样解析。相同的模型适用于ASCX控件,但指南是将它们放在_controltemplates中。
SharePoint最佳地与Windows身份验证集成。如果您的应用程序使用自己的安全机制进行身份验证或授权,那么将会有工作要做。
在Intranet之外部署代码需要了解备用访问映射以及ISA Server之类的代理,以便身份验证和SharePoint功能正常工作。
如果您希望能够将代码导出为网络部件或利用诸如让人们为您的网页添加网页部件或受众群体定位等功能,那么还有许多要学习的概念和要掌握的新API
在使用SharePoint 2007 2年后,我发现大多数ASP.NET功能都可用,但开发更加困难(需要在Windows Server和设计视图上开发,代码隐藏和智能感知还不是很完整)。我认为有人需要了解SharePoint环境以及部署代码的选项,以充分利用其能力并能够进行故障排除。我花了大约6个月的时间学习和摸索,然后才能在第一次开始做正确的事情。
答案 1 :(得分:1)
一旦我听到供应商承诺“无缝集成”,我就会开始提问。
不要相信。
答案 2 :(得分:1)
将用户控件(.ASCX)呈现为Web部件非常容易。因此,如果您的ASP.NET应用程序仅在用户控件中编写,则可能非常简单。
否则总会有IFrame'解决方案'。
答案 3 :(得分:1)
简短的回答是否定的。如果它不是作为sharepoint插件编写的,那么你将不得不弄清楚如何将它集成到sharepoint中。
集成可以像将页面放在pageviewer webpart中一样简单,也可以将其作为库中的页面添加。然而,让它真正与sharepoint(sharepoint list,sharepoint webservices等)进行交互将需要一些接线。 “连接它”将采用一些自定义代码或至少与sharepoint designer(ick)进行一些交互。像许多其他人一样,“无缝”可能不适用,除非它是专门为SharePoint编写的。
我们已经与ASP和ASP.net完成了不少“集成”项目,并发现它们同样令人沮丧。 :)
答案 4 :(得分:0)
不是无缝的,但SharePoint是用ASP.NET编写的。
答案 5 :(得分:0)
ASP.Net在维护性和易于与SharePoint集成方面明显优于ASP3。
您可以将自定义功能嵌入到SharePoint中,但要使其顺利运行,并且无缝地实现并非易事。 (但肯定是可能的。)。