Friday 22 November 2013

Resolution for Activation error occured while trying to get instance of type Autoscaler, key "" in Autoscaling ApplicationBlock (WASABi)

Issue:

When implementing  Autoscaling Application block(WASABi) by following the steps from below Microsoft link,

http://www.windowsazure.com/en-us/develop/net/how-to-guides/autoscaling/


you might face the error something like this.


Microsoft.Practices.ServiceLocation.ActivationException was unhandled
  HResult=-2146233088
  Message=Activation error occured while trying to get instance of type Autoscaler, key ""
  Source=Microsoft.Practices.ServiceLocation
  StackTrace:
       at Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(Type serviceType, String key) in c:\Home\Chris\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\ServiceLocatorImplBase.cs:line 57
       at Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance[TService]() in c:\Home\Chris\Projects\CommonServiceLocator\main\Microsoft.Practices.ServiceLocation\ServiceLocatorImplBase.cs:line 90
       at AutoScallingHost.Program.Main(String[] args) in Program.cs:line 14
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException: Microsoft.Practices.Unity.ResolutionFailedException
       HResult=-2146233088
       Message=Resolution of the dependency failed, type = "Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.Autoscaler", name = "(none)".
Exception occurred while: Calling constructor Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.Autoscaler(System.String dataPointsStoreStorageAccountConnectionString, System.String dataPointsTableName, System.TimeSpan ruleEvaluationRate, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.Rules.IRulesStore rulesStore, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.ServiceModel.IServiceInformationStore serviceInformationStore, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.DataPointsCollection.IDataPointsCollectorsProvider dataPointsCollectorsProvider, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.IExecutionLease executionLease, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.Logging.ILogger logger, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.Scaling.IServiceManagementRequestTracker tracker, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.Scaling.IScaler scaler).
Exception is: FileLoadException - Could not load file or assembly 'Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)


The reason for the above exception is,  the two depedent assemblies "Microsoft.WindowsAzure.StorageClient" and "Microsoft.WindowsAzure.ServiceRuntime", looking for their old version of assembly.

To resolve that, you have to map dlls to old verison, by adding the below configuration in app.config file.




                  
   
 
   
     

Sunday 13 October 2013

enterprise library 5.0 logging and caching DB creation with Azure SQL Database

Step 1:
Download  and install the Enterprise library Azure integration packages from the below link
http://www.microsoft.com/en-us/download/details.aspx?id=28189

Step 2:
During the installation of EnterpriseLibraryIntegrationPack-WindowsAzure-sqlscripts, Installer will ask you to provide the location to extract the sql scripts.

Step 3:
There are certain script files will be created in the installation location.
CreateCachingDatabase.sql
CreateCachingDatabaseObjects.sql
CreateLoggingDatabase.sql
CreateLoggingDatabaseObjects.sql
savemessages.vbs
savemessages1.vbs
savemsg.bat
savemsg1.bat

Step 4:
Open MS-SSMS 2012 and connect your Azure SQL DB and Run  SQL scripts. First run the create database scripts and then run the relevant Object sql script by right click and selecting the new query in the relevant Database.

Step 5:
After the successful run, you can see the below tables created in your Azure SQL database instance.
DB: Logging

  • Category
  • CategoryLog
  • Log


DB:Caching
  • CacheData
I Hope this will be useful for you.  if you have any suggestions or comment, Kindly add it.

Regards,
-Gopal



Wednesday 25 July 2012

Check DB size...


SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name, (size*8)/1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'BizTalkDTADb'
GO

Monday 9 April 2012

VB Script to start send ports/enable receive locations in Biztalk.



strComputer = "."
Set oMessage = CreateObject("CDO.Message")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\MicrosoftBizTalkServer")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM MSBTS_SendPort where   Status=2",,48)
For Each objItem in colItems
      objItem.Start
     oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
      oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.urmailserver.com"
      oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
      oMessage.Configuration.Fields.Update
      oMessage.Subject = "Alerting text " &  objItem.Name
      oMessage.From = "myemailid@mymail.com"
      oMessage.To =  " myemailid@mymail.com ; myemailid1@mymail.com ; myemailid2@mymail.com "
      oMessage.TextBody = " Alerting text  " &  objItem.Name
      oMessage.Send
Next

VB Script to enable receive locatios in Biztalk.


strComputer = "."
Set oMessage = CreateObject("CDO.Message")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\MicrosoftBizTalkServer")
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM MSBTS_ReceiveLocation WHERE IsDisabled = True",,48)
For Each objItem in colItems
      objItem.Enable

  oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
      oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.urmailserver.com"
      oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
      oMessage.Configuration.Fields.Update
      oMessage.Subject = "Alerting text " &  objItem.Name
      oMessage.From = "myemailid@mymail.com"
      oMessage.To =  " myemailid@mymail.com ; myemailid1@mymail.com ; myemailid2@mymail.com "
      oMessage.TextBody = " Alerting text  " &  objItem.Name
      oMessage.Send

Next

Just configure the above scripts with windows task scheduler, If any of send port/ receive locations stopped/disabled will send alert to E-mails mentioned in   oMessage.To and before sending e-mail alert, script also enable to receive location / start the send port.

If you have any issue to configure this , please let me know.

Thanks,
-Gopal 




Biztalk Terminator

Instead of terminate script or download script. Biztalk team recently released the tool called Biztalk terminator. it is very useful for biztalk instance termination, Message download and We can easily integrate Biztalk messagebox viewer. this  can be downloaded from the below link. More info or download please follow the below link

Friday 13 January 2012


Biztalk 2009 MMC snap-IN

May be many of us seen that Biztalk 2009 have issue of MMC snap-in error. specifically after the application deployment or import the config file. There are some quick fix.

Fix 1: Just referesh the Admin console, if this fail
Fix 2: Restart WMI service, if this too fail
Fix 3 : Restart DTC service, this is the last option, but surely it will and it's worked for us.

If you know any best option other than these , please leave as a comment. 

Friday 23 December 2011