2
votes

A colleague is evaluating the purchase of a web-based application for their company. One of the applications they are looking at is written in ASP.NET. He made the comment that they are hoping they can "seamlessly incorporate the ASP.NET application into the sites and dashboards our users access every day".

Is there something intrinsic about ASP.NET technology such that any off-the-shelf ASP.NET application integrates seamlessly into SharePoint, whereas this isn't the case with classic ASP?

Is ASP.NET technology better at automatic SharePoint integration than a classic ASP application, or do all web apps run the same within SharePoint?

6
+1 as I feel your pain. Unless the vendor is offering specifically developed SharePoint integration then you will not be able to just 'work' in SharePoint.Charlie

6 Answers

5
votes

ASP.NET pages and modules can run within SharePoint however you can't just drop a web application into SharePoint. After learning the SharePoint system you may find most code can be integrated, but it will never be seamless. The only people who would believe that are the ones who are relying on white papers.

  • The SharePoint site collection is the "owner" of the web application and you need to deploy ASPX pages and dlls into an existing web application.

  • SharePoint owns and defines the web.config so you have to add to that.

  • Code compiled into a DLL has to be deployed to SharePoint either to the GAC and then registered in the web.config with a 4 part-name, or to the bin folder of the web application in which case code access security directives need to be added to web.config.

  • The most direct way to deploy ASPX pages is to drop them into the _layouts folder (better yet a subfolder). Code-behinds for pages can be added to the folder as well and they will resolve as in regular ASP.NET. The same model works for ASCX controls, although the guideline is to put them in _controltemplates.

  • SharePoint integrates best with Windows Authentication. If your application uses its own security mechanism for authentication or authorization then there's going to be work to do.

  • Deploying code beyond an intranet will require an understanding of alternate access mappings and possibly a proxy like ISA Server for authentication and SharePoint functionality to work.

  • If you want to be able to export your code as web parts or make use of features such as letting folks add web parts or audience targeting to your pages then there are many more concepts to learn and new APIs to grasp.

Having worked with SharePoint 2007 for 2 years I have found most ASP.NET features are usable but the development is more difficult (need to develop on Windows Server and design view, code-behinds and intellisense are not quite there yet). I think someone needs to gain an understanding of the SharePoint environment and the options for deploying code to fully leverage what it's capable of and be able to troubleshoot. It took me about 6 months of studying and fumbling around before I was able to start getting things right the first time through.

1
votes

Once I hear a vendor promising "seamless integration", I start asking questions.

Don't believe it.

1
votes

It is very easy to render a user control (.ASCX) as a web part. So if your ASP.NET app is written exclusively in user controls it could be very easy.

Otherwise there is always the IFrame 'solution'.

1
votes

The short answer is NO. If it wasn't written as a sharepoint addon, you are going to have to figure out how to integrate it into sharepoint.

Integration may be as simple as putting the page in a pageviewer webpart or adding it in as a page in a library. However, getting it to truly interact with sharepoint (sharepoint lists, sharepoint webservices, etc...) will take some wiring up. "Wiring it up" will either take some custom code or at the very minimum some interaction with sharepoint designer (ick). Like many others that have answered, "seamless" probably doesn't apply unless it was written specifically for SharePoint.

We have done quite a few "integration" projects with both ASP and ASP.net, and have found them to be equally frustrating. :)

0
votes

Not seamless, but SharePoint is written in ASP.NET.

0
votes

ASP.Net is definately preferable to ASP3, in terms of maintainence and ease of integration with SharePoint.

You can embed custom functionality into SharePoint, but to get it functioning smoothly, and seamlessly isn't easy. (But is certainly possible.).