Debugging SharePoint Apps That Are Hosted In Windows Azure Web Sites
Today, I'm going to be the lazy human I'm so frequently accused of being by my somewhat faithful dog Shasta, and bring together two posts written by two other folks into one uber "ain't it cool how this all works together post" by me. Here are the two concepts we're combining today:
- Publishing a provider-hosted SharePoint App to a Windows Azure web site. My colleague and friend Vesa recently put together an excellent video on this process. I recommend you start by viewing it from his blog here: https://blogs.msdn.com/b/vesku/archive/2013/11/25/setting-up-provider-hosted-app-to-windows-azure-for-office365-tenant.aspx.
Now, once our SharePoint App has been published to a Windows Azure web site, the error prone and/or forward-thinking amongst you may be wondering...um, great...so what do I do to track down bugs? Well that's where the second piece of brilliant advice that I had nothing to do with comes in.
- Learn how to remotely debug Windows Azure web sites! There is a great and really pretty simple post about this topic located here: https://blogs.msdn.com/b/webdev/archive/2013/11/05/remote-debugging-a-window-azure-web-site-with-visual-studio-2013.aspx.
Now, let's briefly walk through the steps to combine these two nuggets of goodness:
- Create a SharePoint provider hosted app and verify that it works.
- Create an Azure web site and download publishing profile. (in Vesa's video)
- Use appregnew.aspx to get a client ID and client secret. (in Vesa's video)
- Publish the App to your Windows Azure site using the publishing profile, client ID and client secret retrieved in the previous steps. (in Vesa's video)
- Create the app package, install it to your app catalog, and add it to your site. (in Vesa's video)
- Open Server Explorer in Visual Studio 2013, right-click on the Windows Azure node and select Connect to Windows Azure...
- Expand to see all the Azure services, and then expand the collection of Web Sites.
- Right-click on the Azure web site where you published your provider-hosted app and select Attach Debugger.
- The browser opens to your Azure web site, and VS.NET starts up in debugging mode. Set your breakpoints in your code and start debugging!
See the remotely debugging Azure web sites post for the details on pre-requisites, but in short you need Visual Studio 2013 and the Azure 2.2 SDK for VS 2013; you will find a link to that in the blog post. (NOTE: that same post also describes how to do this with Visual Studio 2012 but I have not tried that) This actually works pretty great and I was able to get a first-hand experience using it when I went through the steps for this blog post. As it turns out, the SharePoint site where I installed my sample application uses the Url https://sps2. Well, the problem of course is that in my Azure Web site, my code was trying to make a CSOM call to an endpoint at "sps2". That works great when I'm in my lab environment, but out in the interwebs that Azure lives in of course it cannot resolve to a simple NetBIOS name (remember, this code is running server side, not client side). So as a result it was blowing up. By using this cool new debugging feature I was able to find my issue, appropriately for this debugging post. Here's a screenshot of it in action:
Comments
Anonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
Hello Steve,
I followed your steps, but I get error -
"A remote operation is taking longer than expected"
and then alert error message
"The following error occurred when tried to launch remote debugging: Exception from HRESULT: 0x89710023"
Could you please guide, if I am missing something?
Thank you.Anonymous
January 01, 2003
thanks for sharing.Anonymous
December 02, 2013
I love the new debugging stuff in Azure Websites ... so handy for those "well it works on my machine" moments. Something else i have been doing in all my Azure code is adding some tracing/debugging output using SignalR. This gives you a real time monitoring visibility in your code ... good for non-intrusively debugging your code. When you do the VS debugging for Azure it will stop other requests from executing so sometimes you need a little lighter touch if your code is in production. I wrote it up here if you are interested: www.looselytyped.net/.../sharepoint-provider-hosted-apps-in-azure-monitoring-tipAnonymous
May 14, 2014
Nanddeep,
Check http://stackoverflow.com/questions/21188108/azure-remote-debugging-failed-to-enable-remote-debuggingexception-from-hresultAnonymous
August 11, 2014
In Part 3 of this series we looked at the plumbing required to add support for Web API 2.x to your SharePointAnonymous
September 18, 2014
The comment has been removedAnonymous
September 19, 2014
Nice piece of information, I had come to know about your internet site from my friend, and let me tell you, your website gives the best and the most interesting information. This is just the kind of information that I had been looking for, I'm already your rss reader now and I would regularly watch out for the new post, once again hats off to you! Thanks a ton once again, Regards,SharePoint Administration Training in Hyderabad IndiaAnonymous
September 19, 2014
Awful piece of information, I had come to know about your blog from my friend, and let me tell you, your blog gives the best and the most interesting information. This is just the kind of information that I had been looking for, I'm already your rss reader now and I would regularly watch out for the new posts, once again hats off to you! Thanks a million once again, Regards,SharePoint Developer Training in Hyderabad IndiaAnonymous
September 19, 2014
Awesome piece of information, I had come to know about your website from my friend, and let me tell you, your blog gives the best and the most interesting information. This is just the kind of information that I had been looking for, I'm already your rss reader now and I would regularly watch out for the new posts, once again hats off to you! Thanks a ton once again, Regards,SharePoint Online Training in Hyderabad IndiaAnonymous
September 19, 2014
Interesting piece of information, I had come to know about your web-page from my friend, and let me tell you, your blog gives the best and the most interesting information. This is just the kind of information that I had been looking for, I'm already your rss reader now and I would regularly watch out for the new posts, once again hats off to you! Thanks a million once again, Regards,SharePoint Training Institutes in Hyderabad IndiaAnonymous
January 08, 2015
m88 : http://m88en.com
M88.com offer online sports games Asia, Sports Betting Asia, Sports Betting Sites Asia.
m88asia : http://m88en.net
Link to M88BET phone: m88en.com. – Register and Open Betting Account and Membership M88BET.
m88bet : http://www.linkm88vip.com
MANSION88 the house is one of the largest and most prestigious. Appeared quite early in the Asian market, the so-MANSION88 currently attracts more players.
link m88 : http://m88wiki.com
Home the M88 is the official sponsor of the football club in the Premier League
Wish you happy with the new M88
m88 casino online : http://m88free.com
Modern Thai restaurant combines outstanding traditional cuisine and a subtle modern decor with a warm welcoming ambience. Thai Restaurants in Brisbane :http://www.watersidethainoodles.com.au , traveller reviews of Brisbane Thai restaurants and search by price, location, and more..