Category Archives: Uncategorized

Azure App Service Introduction Series – Web Apps

Web Apps simply provide you the ability to get your web applications up and running in Azure without worrying about all the details you have to worry about in traditional on premise deployment.

Within the boundaries of your organization, these are some of the concerns that you and other organization teams have to care about whenever you want to get a web applications online:

  • Web server settings (ex: IIS) such as application pool, security, required handlers, access permissions, to name few
  • Server setup; including OS management, patching, upgrades
  • Network settings including security and firewalls
  • Not to mention of course the sizing issue, of how much hardware to order and set up

With Web Apps, you just have to focus on the business and leave these (boring) concerns to Azure.

Let’s build a simple example to see Web Apps in action. I will create a default MVC web app, hook it up to Azure AD, and make it online – all in a matter of minutes. Obviously real world applications require much more than this simple example would demand, but the idea to show here is that you are free from time consuming concerns: try to do the same exact example on premise, and it will take you hours if not days.

Continue reading

Advertisement

Azure App Service Introduction Series – Introduction

App Services are a set of platform as a service (PaaS) services that hide the complexity of building applications on Azure and allow you to focus on the business and delivering quick results. This is another step in the enhancement of PaaS offerings which started way back with cloud services and web and worker roles.

App Services consist of various services (which is being updated, such as Functions which extended the original App Services): Continue reading

Custom WCF MessageHeader – Set MustUnderstand

In a recent implementation, I was building a WCF intermediary which receives messages and does some processing and then route these messages to a set of services that are not under my control.

One of the requirements, was that in specific cases I had to edit the incoming Security header and set misunderstand to 0 instead of 1. As I said, I have no control over the destination services, therefore I cannot use the ValidateMustUndestand service behavior nor the fine grained UnderstoodHeaders property of the message headers to bypass validation at these services.

So in the intermediary I built an inspector which intercepts the message just before being sent to the destination services. It then removes the incoming Security header after it preserves the content, then creates a custom header with mustunderstand set to false, then injects this header instead of the old one.

Continue reading

Installing Oracle Client on Windows Server 2008 R2 x64

i had previously installed Oracle client 10g on win 2003 machine to connect to my Oracle db from my .NET app.

this time i wanted to do the same from my Win Server 2008 R2 x64 machine…
for 64 bit machines Oracle has released a 11g 64 bit client which you can get from here:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
(win64_11gR2_client.zip).

Run the installation and select the first item (Oracle instance client):

Continue the installation…it will finish in no time.

However, after installation there was no tnsnames.ora and sqlnet.ora files…and there was no Network and Admin folders. In all previous installations these were the folders/files i deal with to set my settings and service names.

What i did next was wierd but worked! i manually created folder Network and inside it created folder Admin…the full path was:
C:\app\username\product\11.2.0\client_1\Network\Admin
And i created the tnsnames.ora and sqlnet.ora inside the above path.
That did the trick.

Before that…

If you are going to invoke Oracle client from a .NET application like me, you will get an error that says:
“Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed.”
if your application process is targetting 32-bit.

if you are using a console application, go to project properties –> advanced compilation options and change the target cpu to x64.
From IIS 7 make sure that the setting for the application pool accessing Oracle has “Enable 32 bit applications” set to false.

PS: i read that its an IIS 7 best practice to keep 32-bit processes (pools) working on x64 machines. so the above step might incur performance overhead. my next attempt will be to install Oracle client 32-bit on my x64 machine and see if that works…