Monday 22 September 2014

ServiceDefinition(.csdef) Transformation in Azure project

Create the ServiceDefinition environment wise files in azure project
Format: ServiceDefinition.$(Configuration).csdef

Add following line of code 
in Project .ccproj file

      <ItemGroup>
             <EnvironmentDefinition Include="ServiceDefinition.Debug.csdef">
                    <BaseConfiguration>ServiceDefinition.csdef</BaseConfiguration>
               </EnvironmentDefinition>
               <EnvironmentDefinition Include="ServiceDefinition.Production.csdef">
                    <BaseConfiguration>ServiceDefinition.csdef</BaseConfiguration>
               </EnvironmentDefinition>
               <EnvironmentDefinition Include="ServiceDefinition.Int.csdef">
                     <BaseConfiguration>ServiceDefinition.csdef</BaseConfiguration>
                </EnvironmentDefinition>
               <EnvironmentDefinition Include="ServiceDefinition.Dev.csdef">
                    <BaseConfiguration>ServiceDefinition.csdef</BaseConfiguration>
               </EnvironmentDefinition>
               <EnvironmentDefinition Include="ServiceDefinition.Cloud.csdef">
                    <BaseConfiguration>ServiceDefinition.csdef</BaseConfiguration>
               </EnvironmentDefinition>
               <None Include="@(EnvironmentDefinition)" />
      </ItemGroup>

And then  add

  <Target Name="ValidateServiceFiles" Inputs="@(EnvironmentDefinition);@(EnvironmentDefinition->'%(BaseConfiguration)')" Outputs="@(EnvironmentDefinition->'%(Identity).transformed.csdef')">
          <Message Text="ValidateServiceFiles: Transforming %(EnvironmentDefinition.BaseConfiguration) to %(EnvironmentDefinition.Identity).tmp via %(EnvironmentDefinition.Identity)" Importance="High" />
          <TransformXml Source="%(EnvironmentDefinition.BaseConfiguration)" Transform="%(EnvironmentDefinition.Identity)" Destination="%(EnvironmentDefinition.Identity).tmp" />
          <Message Text="ValidateServiceFiles: Transformation complete; starting validation" Importance="High" />
          <ValidateServiceFiles ServiceDefinitionFile="%(EnvironmentDefinition.Identity).tmp" ServiceConfigurationFile="ServiceConfiguration.$(Configuration).cscfg" />
          <Message Text="ValidateServiceFiles: Validation complete; renaming temporary file" Importance="High" />
          <Move SourceFiles="%(EnvironmentDefinition.Identity).tmp" DestinationFiles="%(EnvironmentDefinition.Identity).transformed.csdef" />
 </Target>

<Target Name="MoveTransformedEnvironmentConfigurationXml" AfterTargets="AfterPackageComputeService">
           <Copy SourceFiles="ServiceDefinition.$(Configuration).csdef.transformed.csdef" DestinationFiles="$(OutDir)ServiceDefinition.csdef" />
</Target>


Thursday 18 September 2014

JQuery: Abort the previous inprocess ajax call before calling new request

 $(document).ready(function () {
            var currentRequest = null;
            $('#label').click(function () {
                var text = jQuery(this).val();
                if (currentRequest != null) {
                    currentRequest.abort();
                }
                currentRequest = $.ajax({
                    type: 'POST',
                    data: 'name:xyz',
                    url: 'call.ashx/',
                    success: function (data) {
                        $('#label').html(data);
                    }
                });
            });
        });