Archive for the ‘Azure’ Category

Azure Portal–Obtaining access to billing invoices

December 6, 2017 Leave a comment

This guide details the steps required to obtain access to billing invoices for Azure portal (

  1. Login to as the OWNER of the subscription
  2. Switch to the appropriate Azure AD
  3. Click on “Cost Management & Billing
  4. Click on “Subscriptions
  5. Select the appropriate subscription that you want to share access to

  6. Click on “Access to Invoice

  7. Select “On” and then click “Save
  8. Now users with subscription level access will be able to download the billing invoices
Categories: Azure

Azure Portal–Setting up partner on record

December 6, 2017 Leave a comment

This guide details the steps required to setup the partner on record for Azure portal (

  1. Login to
  2. Switch to the appropriate Azure AD
  3. Click on “Cost Management & Billing
  4. Click on “Subscriptions
  5. Select the appropriate subscription that you want to set the Partner on Record
  6. Click on “Partner Information
  7. Enter your Partner ID and click Save
Categories: Azure

Enabling Application Insights on ANY ASP.NET website

October 22, 2017 Leave a comment

1. Install DLL via Nuget

Install-Package Microsoft.ApplicationInsights.Web

2. Add items in bold to the relevant sections in web.config

     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />

     <remove name="TelemetryCorrelationHttpModule"/>
     <add name="TelemetryCorrelationHttpModule"
       type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation"
     < remove name="ApplicationInsightsWebTracking"/>
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web"

  <trace autoflush="true" indentsize="0">
      <add name="myAppInsightsListener" type="Microsoft.ApplicationInsights.TraceListener.ApplicationInsightsTraceListener, Microsoft.ApplicationInsights.TraceListener" />
< /system.diagnostics>

3. Create an ApplicationInsights.config file in /

<?xml version="1.0" encoding="utf-8"?>
< ApplicationInsights xmlns="">
  < InstrumentationKey>[Your Instrumentation Key]</InstrumentationKey>
  < TelemetryInitializers>
    <Add Type="Microsoft.ApplicationInsights.DependencyCollector.HttpDependenciesParsingTelemetryInitializer, Microsoft.AI.DependencyCollector"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.AI.WindowsServer"/>
    <Add Type="Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer, Microsoft.AI.Web">
      <!– Extended list of bots:
             search|spider|crawl|Bot|Monitor|BrowserMob|BingPreview|PagePeeker|WebThumb|URL2PNG|ZooShot|GomezA|Google SketchUp|Read Later|KTXN|KHTE|Keynote|Pingdom|AlwaysOn|zao|borg|oegp|silk|Xenu|zeal|NING|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|Java|JNLP|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|vortex|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|voyager|archiver|Icarus6j|mogimogi|Netvibes|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|wsr-agent|http client|Python-urllib|AppEngine-Google|semanticdiscovery|facebookexternalhit|web/snippet|Google-HTTP-Java-Client–>
    <Add Type="Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.UserTelemetryInitializer, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer, Microsoft.AI.Web"/>
  < TelemetryModules>
     <Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector">
      < ExcludeComponentCorrelationHttpHeadersOnDomains>
        Requests to the following hostnames will not be modified by adding correlation headers.
        This is only applicable if Profiler is installed via either StatusMonitor or Azure Extension.
        Add entries here to exclude additional hostnames.
        NOTE: this configuration will be lost upon NuGet upgrade.
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector">
      Use the following syntax here to collect additional performance counters:
         <Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" />
      PerformanceCounter must be either \CategoryName(InstanceName)\CounterName or \CategoryName\CounterName
      NOTE: performance counters configuration will be lost upon NuGet upgrade.
      The following placeholders are supported as InstanceName:
        ??APP_WIN32_PROC?? – instance name of the application process  for Win32 counters.
        ??APP_W3SVC_PROC?? – instance name of the application IIS worker process for IIS/ASP.NET counters.
        ??APP_CLR_PROC?? – instance name of the application CLR process for .NET counters.
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer">
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.FirstChanceExceptionStatisticsTelemetryModule, Microsoft.AI.WindowsServer">–>
    <Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web">
        Add entries here to filter out additional handlers:
        NOTE: handler configuration will be lost upon NuGet upgrade.
    <Add Type="Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule, Microsoft.AI.Web"/>
    <Add Type="Microsoft.ApplicationInsights.Web.AspNetDiagnosticTelemetryModule, Microsoft.AI.Web"/>
  < TelemetryProcessors>
     <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.AutocollectedMetricsExtractor, Microsoft.ApplicationInsights"/>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
      < MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
      < ExcludedTypes>Event</ExcludedTypes>
    <Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
  < TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/>
< !–
    Learn more about Application Insights configuration with ApplicationInsights.config here:
    Note: If not present, please add <InstrumentationKey>Your Key</InstrumentationKey> to the top of this file.

Categories: ASP.NET, Azure

Cloud Shared Notepad–Beta

December 16, 2011 Leave a comment

This is the pre beta version of the cloud shared notepad, its free for all to use (unless it becomes so popular that my azure account starts charging me)

Anyway I acknowledge that there are definitely issues with the GUI, so please bear with me for a while.

Just some points to note

  1. Below the is actually a textbox, you have to enter your note url there (in this example it is myurlhere)
  2. You can enter your notify email, I have yet to implement this function, so for now it is purely cosmetic



Thanks for your support! Smile

Categories: ASP.NET, Azure

Publishing to Windows Azure from Visual Studio 2010

December 16, 2011 Leave a comment


Here are the steps to publish to Windows Azure from inside Visual Studio 2010

  1. From inside Visual Studio, right click the Azure project (the icon looks like a blue globe)
  2. image

  3. Click on “Publish”
  4. You will see the screen below
  5. If you have yet to import your publish settings, click on the hyperlink to generate the publishing file
  6. Once you get the file, use the import button to import your settings file
  7. You should now have a subscription available for selection
  8. If you do not have any hosted services, you will see the screen below. Else skip to step 9
  9. Fill in your hosted service name and preferred data centre location and click “OK”.
  10. In the publish settings, make the necessary changes and click “Publish”
  11. Windows Azure Activity Log will appear and you can see the deployment status there. Do take note that this may take quite a while to deploy even for a simple app.
  12. Once it is complete, the status will reflect to show it is completed and you will be able to see the url to your app
Categories: ASP.NET, Azure

Azure TableServiceContext presents an error with CreateQuery function

December 16, 2011 2 comments

If you were using azure table storage and found the following error when writing the CreateQuery function


does not contain a definition for’ ‘CreateQuery’ and no extension method ‘CreateQuery’ accepting a first argument of type..


What is happening is that other than adding Microsoft.WindowsAzure.StorageClient, you aldo need to add System.Data.Services.Client, which Visual Studio actually tells you when you attempt to build the project.


Error    1    The type ‘System.Data.Services.Client.DataServiceContext’ is defined in an assembly that is not referenced. You must add a reference to assembly ‘System.Data.Services.Client, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089’.   


Once you added the reference, the error will automatically go away.


Now if only there was an easy way to automatically add the missing reference in since Visual Studio knows the exact error and also what should be done..

Categories: ASP.NET, Azure

Windows SQL Azure Firewall

December 15, 2011 2 comments


For those who are new to SQL Azure, there are firewall settings that you need to take note of when you first create a SQL Database.


By default the firewall is set to block ALL external access


So if you wish to enable ALL access (aka disable the firewall), you can use the following settings


Categories: Azure, SQL Server