Things hard and not so hard.... RSS 2.0
# Monday, April 29, 2013

While looking into purchasing MSDN licenses for a client here’s what I found:

For the US:

image

 

Now when you change the drop down from US to Australia we get these prices (given that $AUD 1 = (approx) $USD 1

image

So for e.g. take a MSDN – VS.NET Test.

Aussie Dollar = $3,460   US= $2,170 which equates to $AUD 1 = $USD 0.627

this is what happens when living in a 3rd world country…. Smile - absolutely outrageous.

Monday, April 29, 2013 10:27:38 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
.NET Developer | Dev | General
# Saturday, April 27, 2013

image
image

*** THIS EVENT IS CURRENTLY GOING ON WORLD WIDE even as we speak! ***

The wrap up of the day:

Saturday morning was nothing short of sensational in Sydney today, early morning sun, bright blue skies, smell of coffee and a city that felt like it was snoozing and waking for some playtime.

I walked into a room of curious minds, eager eyes and folks that were thinking of possibilities in technology. This technology was Windows Azure.

We were above capacity & for the first time I would be relieved if there were a few ‘no-shows’…but none happened. Even at 5pm we nearly had a full house.

Firstly I’ve got to thank – you the students for a great day, fantastic questions and giving your precious weekend time.

Secondly the expert speakers that have huge experience in the field.

  • Mark O’Shea – Paradyne
  • Olaf Loogman – author of a popular Win8 app CyclingTracker – Breeze
  • Don Jayasinghe – Breeze
  • Mick Badran (yours truly) – Breeze

and finally all the sponsors & people that helped enable us to bring this to you:

What were the plans for the day:

The Agenda was set to:

 

SYDNEY - topics

Start Time

Duration (Minutes)

Speaker

Introductions

9:15:00 AM

15

Compute & Storage/CDN

9:30:00 AM

30

Mark O'Shea

SQL Databases & Reporting

10:00:00 AM

30

Don Jayasinghe

Lab Time & Break

10:30:00 AM

60

 

Cloud Services

11:30:00 AM

30

Mick Badran

Building apps on azure

12:00:00 PM

45

Olaf loogman

Lab Time & Break

12:45:00 PM

60

 

Virtual Machines & Networks

1:45:00 PM

30

Mark O'Shea

Connecting To Azure

2:15:00 PM

30

Mick Badran

Lab Time & Break

2:45:00 PM

60

 

Q&A Planning Session - questions from the floor

4:15:00 PM

   

 

Some Interesting facts:

- we had 3 MVPs in the room (that I knew of)

- we had 2 Microsoft VTSPs

- a student drove 3.5hrs one way to be here with us during the day, then back to Canberra again after class. Massive commitment.

- we all came with Azure Subscriptions ready to go.

- a student created a WebSite, Database + Worker role working in a solution together during the day.

- Olaf has his Mobile Services demo fail (even though it worked at 10pm last night) due to the recent Azure Portal update at 2am this morning. He did have a PlanB, the autogenerated code from the Portal during the Mobile Services Application creation, generates un-compilable code for now. Well done Olaf, some nice tap dancing.

WP_20130427_001

(Olaf working his magic)

 

WP_20130427_002

(looking out to the North Wing)

 

Thanks to Magnus a fellow Azure MVP - for setting all this up world wide and good luck to all the other countries.

If you blog about it – then be sure to use the hashtag #globalwindowsazure.

 

Mick out.

Saturday, April 27, 2013 8:28:46 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | GWAB | Integration | ServiceBus

Something that you’ve always wanted at your finger tips all the public IP ranges for the Azure Data Centers.

http://www.microsoft.com/en-us/download/details.aspx?id=29840

 

<!--Below address ranges are represented using CIDR notation-->
<!--For detail on how to interpert CIDR notation refer http://en.wikipedia.org/wiki/CIDR_notation-->
<regions>
  <region name="Europe">
    <subregion name="North Europe">
      <network>213.199.160.0/20</network>
      <network>213.199.184.0/21</network>
      <network>137.116.224.0/19</network>
      <network>157.55.230.160/27</network>
      <network>157.55.3.0/24</network>
      <network>168.61.80.0/20</network>
      <network>168.61.96.0/19</network>
      <network>168.63.32.0/19</network>
      <network>168.63.64.0/20</network>
      <network>168.63.80.0/21</network>
      <network>168.63.92.0/22</network>
      <network>65.52.224.0/22</network>
      <network>65.52.228.0/22</network>
      <network>65.52.248.0/21</network>
      <network>65.52.64.0/20</network>
      <network>94.245.104.0/21</network>
      <network>94.245.112.0/20</network>
      <network>94.245.88.0/21</network>
      <network>137.116.224.0/19</network>
      <network>157.55.230.160/27</network>
      <network>157.55.3.0/24</network>
      <network>168.61.80.0/20</network>
      <network>168.61.96.0/19</network>
      <network>168.63.32.0/19</network>
      <network>168.63.64.0/20</network>
      <network>168.63.80.0/21</network>
      <network>168.63.92.0/22</network>
      <network>65.52.224.0/22</network>
      <network>65.52.228.0/22</network>
      <network>65.52.248.0/21</network>
      <network>65.52.64.0/20</network>
      <network>94.245.104.0/21</network>
      <network>94.245.112.0/20</network>
      <network>94.245.88.0/21</network>
      <network>137.135.128.0/17</network>
    </subregion>
    <subregion name="West Europe">
      <network>157.55.10.0/27</network>
      <network>157.55.10.32/27</network>
      <network>157.55.10.64/26</network>
      <network>157.55.12.0/28</network>
      <network>157.55.9.112/28</network>
      <network>137.116.192.0/21</network>
      <network>137.116.200.0/21</network>
      <network>157.55.8.128/28</network>
      <network>157.55.8.144/28</network>
      <network>157.55.8.160/28</network>
      <network>157.55.8.64/26</network>
      <network>168.63.0.0/19</network>
      <network>168.63.96.0/19</network>
      <network>213.199.128.0/21</network>
      <network>213.199.136.0/22</network>
      <network>213.199.180.112/28</network>
      <network>213.199.180.192/26</network>
      <network>213.199.180.32/28</network>
      <network>213.199.180.96/28</network>
      <network>213.199.183.0/24</network>
      <network>65.52.128.0/19</network>
      <network>94.245.97.0/24</network>
      <network>137.117.128.0/17</network>
      <network>168.61.56.0/21</network>
    </subregion>
  </region>
  <region name="Asia">
    <subregion name="East Asia">
      <network>111.221.64.0/22</network>
      <network>111.221.69.0/25</network>
      <network>137.116.160.0/20</network>
      <network>168.63.128.0/19</network>
      <network>168.63.192.0/19</network>
      <network>207.46.67.160/27</network>
      <network>207.46.67.192/27</network>
      <network>207.46.72.0/26</network>
      <network>207.46.77.224/28</network>
      <network>207.46.87.0/24</network>
      <network>207.46.89.16/28</network>
      <network>207.46.95.32/27</network>
      <network>65.52.160.0/19</network>
    </subregion>
    <subregion name="South East Asia">
      <network>111.221.16.0/21</network>
      <network>111.221.80.0/20</network>
      <network>111.221.96.0/20</network>
      <network>137.116.128.0/19</network>
      <network>168.63.160.0/19</network>
      <network>168.63.224.0/19</network>
      <network>207.46.48.0/20</network>
    </subregion>
  </region>
  <region name="USA">
    <subregion name="South Central US">
      <network>157.55.103.32/28</network>
      <network>157.55.103.48/28</network>
      <network>157.55.153.224/28</network>
      <network>157.55.176.0/20</network>
      <network>157.55.192.0/22</network>
      <network>157.55.196.0/22</network>
      <network>157.55.200.0/22</network>
      <network>157.55.80.0/22</network>
      <network>157.55.84.0/22</network>
      <network>168.62.128.0/19</network>
      <network>65.52.32.0/21</network>
      <network>65.54.48.0/21</network>
      <network>65.55.64.0/20</network>
      <network>65.55.80.0/20</network>
      <network>70.37.160.0/21</network>
      <network>70.37.48.0/20</network>
      <network>70.37.64.0/18</network>
    </subregion>
    <subregion name="North Central US">
      <network>157.55.136.0/21</network>
      <network>157.55.151.0/28</network>
      <network>157.55.160.0/20</network>
      <network>157.55.208.0/21</network>
      <network>157.55.216.0/22</network>
      <network>157.55.220.0/22</network>
      <network>157.55.24.0/21</network>
      <network>157.55.252.0/22</network>
      <network>157.55.60.224/28</network>
      <network>157.55.60.240/28</network>
      <network>157.55.73.32/28</network>
      <network>157.56.12.0/22</network>
      <network>157.56.24.160/28</network>
      <network>157.56.24.176/28</network>
      <network>157.56.24.192/28</network>
      <network>157.56.28.0/22</network>
      <network>157.56.8.0/22</network>
      <network>168.62.224.0/20</network>
      <network>168.62.96.0/19</network>
      <network>207.46.192.0/20</network>
      <network>209.240.220.0/23</network>
      <network>65.52.0.0/19</network>
      <network>65.52.106.128/27</network>
      <network>65.52.106.16/28</network>
      <network>65.52.106.160/27</network>
      <network>65.52.106.192/27</network>
      <network>65.52.106.224/28</network>
      <network>65.52.106.240/28</network>
      <network>65.52.106.32/27</network>
      <network>65.52.106.64/27</network>
      <network>65.52.106.96/27</network>
      <network>65.52.107.0/28</network>
      <network>65.52.192.0/19</network>
      <network>65.52.232.0/22</network>
      <network>65.52.236.0/22</network>
      <network>65.52.240.0/22</network>
      <network>65.52.244.0/22</network>
      <network>65.52.48.0/20</network>
      <network>168.61.128.0/17</network>
    </subregion>
    <subregion name="East US">
      <network>137.117.32.0/19</network>
      <network>137.117.64.0/18</network>
      <network>157.56.176.0/21</network>
      <network>168.61.32.0/20</network>
      <network>168.61.48.0/21</network>
      <network>168.62.160.0/19</network>
      <network>168.62.32.0/19</network>
      <network>137.116.0.0/17</network>
    </subregion>
    <subregion name="West US">
      <network>137.117.0.0/19</network>
      <network>137.135.0.0/18</network>
      <network>157.56.160.0/21</network>
      <network>168.61.0.0/19</network>
      <network>168.61.64.0/20</network>
      <network>168.62.0.0/19</network>
      <network>168.62.192.0/19</network>
      <network>168.63.88.0/24</network>
    </subregion>
  </region>
</regions>

Saturday, April 27, 2013 12:44:18 PM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Integration
# Friday, April 12, 2013
# Thursday, April 11, 2013

image

Recently Microsoft added Backup Services (Preview) in which you can invoke the cloud as part of your backup strategy, whether it be offsite secondaries etc.

You may have heard of Microsoft’s StorSimple which involved dropping a 2RU or 4RU Hardware device into a customer’s rack in a Datacenter somewhere which is no easy feat.

The reason why I’m liking the Azure Backup Services approach is that it’s a software based solution.

Storage costs for Backups are cheaper and this is a feasible approach for backups.

The other cool thing is that – if I need fast access to my backups in the cloud, then I can spin up a ‘configured’ VM in Azure (access to the same Backup Vault) and access the backups. No need to copy them down on premise first.

 

Let’s get Cracking

The elements that make this Azure Backup Services work are:

1. Azure Recovery Services Backup Services – with a Backup Vault created.

2. On Premise (or anywhere else for that matter) Server with the Backup Services Agent installed (currently Win2012, Win2008R2 are targeted platforms for the Agent).
(Currently the BackupServices APIs are only planned to be used from these Agents and not our own code….yet!)

3. A management certificate:

1. X509, Pub/Private keys installed in the local machine certificate store in the OnPrem Server.

2. Public Key (*.CER file) uploaded to Azure Backup Services (this is different to the Subscription Certificates you may already have up in Azure)

The certificate can be self signed and must have: 2048 (or greater) key length, expire within 3 years.
(if your cert fails these requirements it will either fail to upload, or fail to be recognised – we’re dealing with Preview here folks)

 

1. Creating the Vault

Login to the Azure Portal (activate the Backup Services Preview feature if you haven’t done so already) and select Recovery Services
image

 

- Add a new Backup Vault with your details. It’s point a click stuff here, no thinking yet.

 

2. Create the Management Certificate for Backup Services

There’s a few different ways to do this, makecert.exe is the easiest way I find as follows:

(run from an elevated cmd prompt if required)

-------------------------------------

C:\>makecert
Error: Please either specify the outputCertificateFile or -ss option
Usage: MakeCert [ basic|extended options] [outputCertificateFile]
Basic Options
-sk  <keyName>      Subject's key container name; To be created if not present
-pe                 Mark generated private key as exportable
-ss  <store>        Subject's certificate store name that stores the output
                     certificate
-sr  <location>     Subject's certificate store location.
                        <CurrentUser|LocalMachine>.  Default to 'CurrentUser'
-#   <number>       Serial Number from 1 to 2^31-1.  Default to be unique
-$   <authority>    The signing authority of the certificate
                        <individual|commercial>
-n   <X509name>     Certificate subject X500 name (eg: CN=Fred Dews)
-?                  Return a list of basic options
-!                  Return a list of extended options

C:\>makecert.exe -r -pe -n CN=MicksBreezeAzureBackups -ss my -sr localmachine -eku 1.3.6.1.5.5.7.3.2  -e 12/31/2015 -len 2048 "MicksBreezeAzureBackups.cer"

--------------------------------------------------------

* you should be able to see this Cert in the MachineCertStore on the local machine as follows: *

image

 

The *.cer file will be on the local file system ready for uploading Smile

 

3. Uploading the Certificate (*.CER) file to the Azure Portal

From the Azure Portal –> Recovery Services –> Upload Management Certificate

image
If all goes well, you’ll have success Smile
image

 

You should be able to see your certificate details in the Backup Services – click on your newly created empty BackupVault.

image

 

Now we’re ready to get onto the Server Side

 

3. Configuring and Registering the OnPremise Server to the Backup Vault.

3.1 Download the Agent from Backup Services

Click on the Download Agent Link from within Backup Services and choose your selection:

image

Here I selected the first option – “Agent for Windows Server 2012 and System Center 2012 SP1..”

Download the Agent (approx 17MB) and install.

This should go smoothly.

3.2 Registering the Server

Launch the Agent (if havent done so already) after the above installation completes.

image
(mine is empty)

3.2.2 Click on Register Server

image

(Configure a Proxy if you need to, this is for HTTP/HTTPs traffic)

Your certificate should come up in the list that you created earlier – if it doesnt ensure that both the Private + Public keys are installed AND the Cert is in the Local Machine Store. Then rerun this step.

Select the Vault details as follows in the Agent

image

(I’ve hidden my subscription ID here)

You’re 2 worlds are almost connected now, we have the Vault + the Server just about done.

Click Next to move onto the Encryption Settings

image

 

Select a Passphrase and bear in mind that each new Server you add which wants to restore/read the backup information from another server, will need the same Passphrase.

 

Click the magic button REGISTER Smile
image

 

This is also reflected on the Backup Services Portal under Servers as follows:

image


 

 

4. Configuring Backing – using the Windows Azure Backup & Throttling

(this is very simple and similar to Windows Backup)

image

 

What files are we backing up – click on Schedule Backup

I’ve selected a small folder on the System for the purpose of the demo

image

 

Select a Time – Currently limited to a max of 3 times a day per Server.

image

The COOOOOL THING is click on Change Properties – and here we can configure Throttling.

- complete the Wizard to create your first backup schedule – well done!

 

You’ll now notice the Windows Azure Backup shell has a Backup Now option on the right hand side.

I selected this and ran the Backup Now ‘wizard’ in which I could also specify Throttling for this backup.

image

 

At this stage you can also go back to the Backup Services Portal and see an entry in the Protected Items there as well.

 

5. Powershell Commands – it goes without saying that there’s a ton of powershell commands to script alot of what we did above.

Digging into PowerShell we find that the commands fall under ‘OnlineBackup’ as follows – notice MSOnlineBackup

image

 

image

 

If I simply run a Get-OBJob command we get back some reasonable info around data transferred etc.

image

 

Happy Backuping!!!! Great new Service.

Thursday, April 11, 2013 11:08:11 AM (AUS Eastern Standard Time, UTC+10:00)  #    Comments [0] -
Azure | Backup Services
# Tuesday, March 26, 2013
With the launch of BizTalk 2013 coming to a city near you from next month, Breeze is across all the new features and has the expertise to get it done right - the first time.
(Watch this space - we will be announcing the launch 'party' shortly)

This is the 8th release of BizTalk and Breeze has been there as a TAP partner, early adopter etc. for ALL 8 releases (even before BizTalk...but that scares even me). We've provided feedback and suggestions on the current release and Breeze has the ability to contact the Product team and raise an issue should the need arise.

BizTalk 2013 is also targeted for the cloud and will be offered as Platform as a Service(PaaS) and Infrastructure as a Service(IaaS), so keep an eye out in the Azure image galleries for this.

I'm pleased to announce that our current set of products have been updated and tested to work with BizTalk 2013 environments, such as:
- Breeze Monitor - centralised monitoring based dashboard that gives you comfort at night knowing your solutions are being looked after.
- Breeze Integration Framework - integration should be easy, this does exactly that. We have put many new capabilities and items here for the BizTalk 2013 version.

For the on-premises BizTalk Server 2013 release, the following themes are important:
  • Cloud Connectivity
  • Ability to run existing BizTalk applications in the cloud (IaaS)
  • Improved Performance
  • Simplified Development and Management Experience
  • Support for the latest platform and standards

In terms of features, this translates to

  • Integration with Cloud Services- BizTalk Server 2013 includes new out-of-the box adapters to send and receive messages from Windows Azure Service Bus, making it easy to build hybrid solutions. It also provides capabilities to host BizTalk endpoints in Azure through the Service Bus Relay providing a simple and secure way to connect external partners and application to BizTalk Server on premises.
  • RESTful services- BizTalk Server 2013 provides adapters to invoke REST endpoints as well as expose BizTalk Server artifacts as a RESTful service.
  • Enhanced SharePoint adapter- Integrating with SharePoint using BizTalk Server 2013 is now as simple as integrating with a file share.
  • SFTP adapter-Enables sending and receiving messages from an SFTP server.
  • Other enhancements: The ESB capabilities previously introduced in the ESB Toolkit are now fully integrated with BizTalk Server, Dependency tracking,Improvements in dynamic send ports, XslCompiledTransform, more support for protocol updates (X12, EDIFACT, HL7)

There is also a change in the licensing approach, where BizTalk is now moving to a per-core licensing model.  If you need more information on this, drop us a line.

Happy BizTalking.. :)




Tuesday, March 26, 2013 10:15:49 AM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | BizTalk 2013
# Thursday, March 14, 2013

You may pass things like:

“Beware falling rocks do not stop”

on the side of the road while on a trip somewhere.

Here’s one I got today from Outlook:

 

image

 

“Was this info helpful?” – love it!

Thursday, March 14, 2013 12:05:54 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
General
# Thursday, March 07, 2013

Folks – we’re into week 2 of the 6 weeks of Azure program and as I was planning these sessions out with Christian last year, I thought I’d like to bring some fun into the mix.

There’s many possibilities that you can do in Azure, but none other than building a bit of h/w, programming it & having it talk to Azure! Monitored, controlled – how good is that.

Enter the FEZ Kitswww.ghielectronics.com

(There’s also the Raspberry PI’s that run a flavour of Linux with a deployment of Mono – that let’s you run C# code straight onto a $35 computer! – I’ll save that for another post)

image

FEZ Kits

These are the ‘mans lego’ kit as I like to think of them as.

What makes these kits cool:

  • they run a flavour of .NET – .NET Microframework. So yes you can write C# etc that runs on the device.
  • you can get many many additional modules for these to plug into your masterpiece – things like temperature sensors, light sensors, colour sensors etc.
  • they run off USB power, even a set of 4 AAA batteries would do it.
  • you program them via USB cable from Visual Studio.
  • *rich* community and developer support - http://www.ghielectronics.com/support/.net-micro-framework

FYI – my kit I’ve added to over time and I’ve also got a Raspberry PI that I play with (good NFC reader).

image

My FEZ KIT on the left, with the PI on the right in my beautiful Lego box Smile

 

Now the best thing is that the FEZ Hydra kit (above) will be available to you (as a prize and the like) on the BOOTCAMPS as part of the 6 weeks of Azure.

Let me know how you get on and if you’ve got any questions about these guys – they’re great and good for developers.

--- from the official blurb ----
6 Weeks of Azure

Need in-person Azure Training? DevCamps are for you

Register for a DevCamp in Melbourne | Sydney | Brisbane to learn how to use the new Windows Azure features and services including Windows Azure Virtual Machines, Web Sites, and Visual Studio 2012 to build and move a variety of apps to the cloud.  You will see how to build web sites, mobile
applications, and enterprise-class applications. 

Need help with your app? Register for a Boot Camp

Register for a Boot Camp near you: Melbourne | Sydney | Brisbane. Our
Industry and Microsoft experts will be available to help complete your
Windows Azure app as part of the 6 Weeks of Windows Azure course.
There will be a FEZ Hydra Kit or two to win… not to mention some t-shirts and mice to giveaway.

6 Weeks
Forum

Thursday, March 07, 2013 12:06:00 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | 6WOA | Integration | ServiceBus
# Tuesday, March 05, 2013

Scott’s team of teams have been busy and have come out with a few changes:

Some of the improvements include:

  • Mobile Services: Android support, East Asia Region Support, iOS dev content
  • SQL Reporting Services: Support in the management portal
  • Active Directory: Support in the azure management portal, user and domain management
  • Availability Monitoring for Cloud Services. Virtual Machines, Web Sites, and Mobile Services
  • Service Bus: New configuration tab and metrics
  • Storage: Ability to download blobs directly in management portal
  • Media Services: New monitoring metrics and quickstart experience
  • Cloud Services: Support for .cer certificate files upload
  • Localization support for five new languages
  • Windows Azure Store Support in 22 Additional Countries

http://weblogs.asp.net/scottgu/archive/2013/03/04/windows-azure-updates-android-support-sql-reporting-services-active-directory-more.aspx

Tuesday, March 05, 2013 9:13:00 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Azure | Integration | ServiceBus
# Wednesday, February 20, 2013

When I went to the Microsoft Partner Portal – Boom!

https://mspartner.microsoft.com/en/au/Pages/index.aspx

image

Wednesday, February 20, 2013 8:44:41 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
Breeze | General
# Tuesday, February 19, 2013

“Ding ding” after spending 4 rounds(hours) in the ring with this guy, I’m taking the gloves off and heading for the showers and salts.

I’m in the middle of some BizTalk work (which is nice for a change) and I’m ticking my tasks off.

I’ve got a REST receive port exposed from BizTalk via IIS and published through the WCF Publishing Wizard.

image

(there’s Operations mappings and extracting variables from the URL to Context Properties under the Configure – omitted for brevity)

Couple of shots of the WCF Service Publishing Wizard:

image

image

The issue here is that – once the Wizard completes you’ll get:

http://<servername>/coreapi/customer/Service1.svc as the URL to call.

The task was simple:

I wanted to call URLs such as

http://<servername>/coreapi/customer/123456789/enquire

http://<servername>/coreapi/customer/123456789/verify

etc. 

And not their equivalents of:

http://<servername>/coreapi/customer/Service1.svc/123456789/enquire

 

The Solution was to use IIS URL Rewrite which looks to be the Swiss Army knife that MacGuyver uses.. (but he only needs a paperclip to take out an entire train).

Lots of samples and numerous examples of solutions that work and people are high-fiving in about 5 mins of starting…alas not for me Sad smile. The other point to note here also is that a URL Rewrite module exists for:

  • Default Web Site
  • Each IIS Application under the Root Website.

I wanted to keep things confined to just my IIS Application and not have to have requirements of changing the Default Web Site for instance.

The tricky part was to find out how IIS works and it’s matching.

image

Underneath CoreApi I have Customer as an Application as in

/coreapi/customer

**The part that URL Rewrite appears to do** (that floored me for a while)

It chunks the FULL REQUEST and passes just the part required to your app.

So take the full URL:

http://localhost/coreapi/customer/1234234/enquire

As you traverse down the IIS ‘Application tree’ the URL that is passed to each URL Rewrite in each underlying IIS Application is *different*, as in:

  • /coreapi = ‘customer/1234234/enquire’
  • /coreapi/customer = ‘1234234/enquire’

This was possibly the hardest piece to figure out. I’d setup failed request tracing in IIS and those logs, while I feel like I’m walking into the Engineering room of the century with all the logs, pages and info… I wasn’t seeing ‘URL Rewrite failed to apply your rule because …..’  - it just wasn’t appearing plain and simple.

URL Rewrite – the rules that won the show

  1. Under /coreapi/customer in IIS Manager
  2. Started off with a Blank Rule and setup the following:
    1. image
    2. image

So the RegEx Rule (at this level) simply states – if the Request begins with a number, then prepend ‘Service1.svc/’ to it.

The key is knowing what the URL being passed to URL Rewrite is at this level in the IIS Application/vdir tree.

What the web.config says at this level:

<rewrite>
           <rules>
               <rule name="CoreApi Rule" patternSyntax="ECMAScript">
                   <match url="([0-9].*)" />
                   <action type="Rewrite" url="Service1.svc/{R:1}" appendQueryString="false" logRewrittenUrl="true" />
               </rule>
           </rules>
       </rewrite>

I hope I’ve saved you a bit of time on your next endeavour.

Tuesday, February 19, 2013 4:12:33 PM (AUS Eastern Daylight Time, UTC+11:00)  #    Comments [0] -
BizTalk | BizTalk 2013 | Tips
Archive
<May 2013>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
Blogroll
 AppFabric CAT
AppFabric Windows Server Customer Advisory Team - New Blog.
[Feed] BizTalk 2006 - Windows SharePoint Services adapter
BizTalk 2006 Sharepoint adapter!!
 Breeze SharePoint 2010 Bootcamp
Breeze SharePoint 2010 Bootcamp
[Feed] BTS 2006 R2/EDI
[Feed] Chris Vidotto (MS BTS Legend)
Needs no intro....
 Mark Daunt
BTS/SPS/.NET GURU!!!
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2013
Breeze
Sign In
Statistics
Total Posts: 582
This Year: 17
This Month: 0
This Week: 0
Comments: 270
All Content © 2013, Breeze