I had a situation where I were looking at using BAM (Business Activity Monitoring) from WCF (Windows Communcation Foundation) and I couldn’t find out why I didn’t get any data into my BAMPrimaryImport database. I didn’t get any errors so I was really wondering where my error was.
I launched the SQL Profiler to see if this could help me in my search for why I didn’t get any data. When the WCF service is launched it calls a stored procedure:
exec bam_Metadata_GetLatestInterceptorConfiguration @technologyName=N'WCF',@manifest=N'<namespace>.<interface>, <Assemblyname>, Version=184.108.40.206, Culture=neutral, PublicKeyToken=null'
This stored procedure returned zero rows, so that was why I didn’t get any data into my tables in the BAMPrimaryImport database. I wasn’t sure why yet why this call didn’t return any data. I looked at the SQL code for the stored procedure and found that it queried the table “[bam_Metadata_EventSource]”. In this table it had the information that I was asking for, but the case of the <Assemblyname> in the manifest column where different than what I saw were used in the calling of the stored procedure.
So what I learned from this is to remember the correct spelling and casing in the IC file map:
<ic:EventSource Name="xxx" Technology ="WCF" Manifest ="<namespace>.<interface>, <assemblyname>, Version=220.127.116.11, Culture=neutral, PublicKeyToken=null">
Something that might be hard to find…