• Blog
  • Info Support
  • Career
  • Training
  • International Group
  • Info Support
  • Blog
  • Career
  • Training
  • International Group
  • Search
logo InfoSupport
  • Latest blogs
  • Popular blogs
  • Experts
      • All
      • Bloggers
      • Speakers
  • Meet us
  • About us
    • nl
    • en
    • .NET
    • 3D printing
    • Advanced Analytics
    • Agile
    • Akka
    • Alexa
    • Algorithms
    • Api's
    • Architectuur
    • Artificial Intelligence
    • ATDD
    • Augmented Reality
    • AWS
    • Azure
    • Big Data
    • Blockchain
    • Business Intelligence
    • Chatbots
    • Cloud
    • Code Combat
    • Cognitive Services
    • Communicatie
    • Containers
    • Continuous Delivery
    • CQRS
    • Cyber Security
    • Dapr
    • Data
    • Data & Analystics
    • Data Science
    • Data Warehousing
    • Databricks
    • DataOps
    • Developers life
    • DevOps
    • Digital Days
    • Digital Twin
    • Docker
    • eHealth
    • Enterprise Architecture
    • Event Sourcing
    • Hacking
    • Infrastructure & Hosting
    • Innovatie
    • Integration
    • Internet of Things
    • Java
    • Machine Learning
    • Microservices
    • Microsoft
    • Microsoft Bot Framework
    • Microsoft Data Platform
    • Mobile Development
    • Mutation Testing
    • Open source
    • Pepper
    • Power BI
    • Privacy & Ethiek
    • Python
    • Quality Assistance & Test
    • Quality Assurance & Test
    • Requirements Management
    • Scala
    • Scratch
    • Security
    • SharePoint
    • Software Architecture
    • Software development
    • Software Factory
    • SQL Server
    • SSL
    • Start-up
    • Startup thinking
    • Stryker
    • Test Quality
    • Testing
    • TLS
    • TypeScript
    • Various
    • Web Development
    • Web-scale IT
    • Xamarin
    • All
    • Bloggers
    • Speakers
Home » Hosting RIA services in Azure
  • Hosting RIA services in Azure

    • By Marcel de Vries
    • .NET 12 years ago
    • .NET 0 comments
    • .NET .NET
    Hosting RIA services in Azure

    *Moved to: http://fluentbytes.com/hosting-ria-services-in-azure/

    The past few weeks I have done some work on a mobile application that we use for demonstration purposes. This phone application relies on a backend service that we build with RIA services. You might have noticed this based on some of my previous posts regarding using authenticated RIA services from the windows Phone.

    Last week I finally managed to get my Developer account approved so I was able to deploy the application on my phone. This was a great experience at first, but after a few seconds I quickly discovered the development environment does not resolve local host references to my laptop web services. Not that I was expecting that, it was just a wakeup call that I needed to find another way to access my RIA services.

    What else to do? Well I own an MSDN account and that provides you with an 8 months Small Instance for free, so why not use that one? So that was my reason to push the services to the cloud. With the new full IIS available, it is pretty easy to get RIA services up and running in the cloud. Just configure your account in the development tools, don’t forget to remove the development storage strings and you have your first service in the cloud. Of course I discovered some bugs in the service code, and I needed to investigate what was going wrong. Now here Intellitrace™ is a real live safer. You can just enable Intellitrace™ and get full historical debugging on your services.

    Enabling it is very easy, just check the Intellitrace™ option on your deployment dialog and you are done.

    image

    There is just one caveat that I hit and that was the fact that Intellitrace™ and RIA services don’t play nicely at first. You need to configure Intellitrace™ to exclude the *System.ServiceModel.DomainServices.* assemblies. This is nicely described in the post here.

    After I added this entry, I finally could access my service endpoints to respond with use full info instead of a 500 server error.

    Last week I received a tweed on twitter from Steve Carroll, that this bug might have been fixed in SP1. After I tweeted that I was installing SP1 to check if the bug was fixed I already got tweeds back telling me it is not fixed yet.

    I have to confirm the bug is not solved yet. What happens when you call your services is that you get the yellow screen of death from ASP.NET and after that you can take the following steps to capture your Intellitrace™ log:

    clip_image002

    Then you will see the log file being copied local to your development machine:

    clip_image004

    Next you can open the Intellitrace™ log file and then you will find the following exception in the log:

    clip_image006

    When you start debugging at that location (Double click the highlighted line), you can see it is coming from System.ServiceModel.DomainServices.Server and in my case is caused by a call to GetQueryEntityReturnType().

    To get rid of this issue, you can configure Intellitrace™ to exclude these modules and then you can start debugging again.

    *** Update ****

    The bug is fixed! It is fixed in the Service Pack 1 for Visual Studio 2010. I at first tried only the RIA services SP1, but that did not resolve the issue. I was not aware of the fact that the packaging of the cloud application also includes the packaging of your locally installed Intellitrace™ diagnostics tools. If you look at the deployment package, you can find that there is a Plugins folder that contains the Intellitrace™ as a plugin that is registered to start when the role instance is started. Therefore you need the Service Pack of Visual Studio in stead of only the RIA services SP1 to get the issue solved.

    *** End Update ***

    One other thing to note with Intellitrace™ is that it is using your storage account to dump the log files. At first I thought this was not such a big issue, but after I took a look at my monthly bill, I discovered my transactions allowed in my MSDN account where used for more than half already! I left Intellitrace™ on for a week since I forgot to turn it off. This caused constant dumping of the data to storage, resulting in a nice 53,536200 Storage transactions used from my 100,000000 free transactions. Intellitrace™ enabling also causes azure to refrain from restarting your instance when it is failing. This is done to enable Intellitrace™ to dump the data, but is not a state you want your production environment to end up in.

    So to conclude this post, RIA services and Azure work great together, Intellitrace™ is a great tool to debug your application, but be aware of a bug that causes your services to crash when you have Intellitrace™ enabled. This issue is not yet fixed in the Sp1 Beta of RIA services, but I still hope it will be in the final version of the SP.

    Cheers,
    Marcel

    Follow my new blog on http://fluentbytes.com

    Share this

Marcel de Vries

View profile

Related IT training

Go to training website

Related Consultancy solutions

Go to infosupport.com

Related blogs

  • Building a custom Kubernetes operator in C#

    Building a custom Kubernetes operator in C# Willem Meints - 3 weeks ago

  • Transform SpecFlow Table Column

    Transform SpecFlow Table Column Ronald Bosma - 3 months ago

  • Building a passwordless login flow with WebAuthn and th…

    Building a passwordless login flow with WebAuthn and th… Willem Meints - 5 months ago

Data Discovery Channel

  • Modern Data Platform

  • Gartner Data & Analytics Summit 2022

  • De Data Architecture ®Evolution

Nieuwsbrief

* verplichte velden

Contact

  • Head office NL
  • Kruisboog 42
  • 3905 TG Veenendaal
  • T +31 318 552020
  • Call
  • Mail
  • Directions
  • Head office BE
  • Generaal De Wittelaan 17
  • bus 30 2800 Mechelen
  • T +32 15 286370
  • Call
  • Mail
  • Directions

Follow us

  • Twitter
  • Facebook
  • Linkedin
  • Youtube

Newsletter

Sign in

Extra

  • Media Library
  • Disclaimer
  • Algemene voorwaarden
  • ISHBS Webmail
  • Extranet
Beheer cookie toestemming
Deze website maakt gebruik van Functionele en Analytische cookies voor website optimalisatie en statistieken.
Functioneel Always active
De technische opslag of toegang is strikt noodzakelijk voor het legitieme doel het gebruik mogelijk te maken van een specifieke dienst waarom de abonnee of gebruiker uitdrukkelijk heeft gevraagd, of met als enig doel de uitvoering van de transmissie van een communicatie over een elektronisch communicatienetwerk.
Voorkeuren
De technische opslag of toegang is noodzakelijk voor het legitieme doel voorkeuren op te slaan die niet door de abonnee of gebruiker zijn aangevraagd.
Statistieken
De technische opslag of toegang die uitsluitend voor statistische doeleinden wordt gebruikt. De technische opslag of toegang die uitsluitend wordt gebruikt voor anonieme statistische doeleinden. Zonder dagvaarding, vrijwillige naleving door uw Internet Service Provider, of aanvullende gegevens van een derde partij, kan informatie die alleen voor dit doel wordt opgeslagen of opgehaald gewoonlijk niet worden gebruikt om je te identificeren.
Marketing
De technische opslag of toegang is nodig om gebruikersprofielen op te stellen voor het verzenden van reclame, of om de gebruiker op een website of over verschillende websites te volgen voor soortgelijke marketingdoeleinden.
Manage options Manage services Manage vendors Read more about these purposes
Voorkeuren
{title} {title} {title}