我在这个问题上做了很多搜索,结果好坏参半,后果模棱两可。现在是时候把它钉好了。如果我正在开发相当于复杂的ASP.NET应用程序,并且我想在SharePoint 2010之上运行它,那么最好将每个页面开发为Web部件还是ASPX应用程序页面?这些页面有很多种,但每个页面都通过自定义WCF服务与SQL 2008 R2后端进行交互。
我还没有看到这个问题的明确和权威的答案。我正在寻找微软或类似的官方指南。这是我到目前为止所发现的细分:
以下非官方帖子显然会支持我的案例的申请页面。但是,它发布在MOSS 2007年,当时SharePoint开发更具挑战性。 http://grounding.co.za/blogs/brett/archive/2008/07/13/sharepoint-the-role-of-a-web-part-vs-using-application-pages.aspx
Microsoft在将应用程序页面与网站页面进行比较时表示,“如果您希望页面包含自定义代码,则应用程序页面是要创建的最佳页面类型。” http://msdn.microsoft.com/en-us/library/ee231581.aspx
到目前为止,这么好。但让我失望的是另一个看似矛盾的链接,也来自MS: “我们目前建议第三方开发人员开发可以添加到网站页面的自定义Web部件,以便尽可能地处理其解决方案的功能,而不是开发自定义应用程序页面。” (msdn.microsoft.com/en-us/library/gg552610.aspx)
我偏向于应用程序页面,因为这是我们团队一直使用的并且没有任何问题。从开发经验到调试和部署支持,一切都是一流的。但内部力量迫使我们转向网络部件,所以我正在寻找理由。
答案 0 :(得分:1)
这取决于你想要的行为。如果希望动态页面中的内容嵌入SharePoint母版页(包含所有导航和样式),则可以创建Web部件并将Web部件附加到Web部件页或任何SharePoint页。如果您的内容页面可以独立存在而无需SharePoint导航,则可以创建应用程序页面。
需要SharePoint导航(UX)吗?然后创建Web部件。 不依赖于SharePoint导航?创建应用程序页面。