After developing using the cs files, I recently replaced them with a reference to the BO & Utility Dlls located in ...DTS\Binn\ folder
I'm able to query by list type getListMember() which wasn't present in the cs Utility file (do I have the wrong one?) Anyway, the getListMember() is working, but now I have the followin error UpdateFullForm.
Also, note that I also lost UpdateSmallForm() that was present in the Utility.cs but isn't found in the dll? Error:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException() at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at ConstantContactUtility.Components.ContactComponent.CreateFullUpdateAtomEntry(Contact contact, String accountContactUri, String accountContactListUri)
at ConstantContactUtility.Components.ContactComponent.UpdateContact(Contact contact, String apiUri, String accountContactListUri, Boolean fullUpdate)
at ConstantContactUtility.Utility.UpdateContact(AuthenticationData authenticationData, Contact contact)
at ConstantContactUtility.Utility.UpdateContactFullForm(AuthenticationData authenticationData, Contact contact)
at GoSync.ScriptMain.Main() --- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, CultureInfo culture) at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
Solved! Go to Solution.
My work-around is to abandon the dll's in favor of the cs scripts. I already had my own generic method to make a stream, I just added an enum for listType to compose the AddressUri and added logic to get the lastUpdate cutoff date from my ctctLog and I now have Active, Removed & DoNotMail lists in SQL. Triggers fire to eval the data and update the CRM data as needed.
Hey,
We are currently looking into your issue and I apologize for any delay.
No worries...
I should say I'm working with just one and the same contact for a few days, setting the mailing Yes/No fields in my database, which fires a trigger to put them into a queue. My sProc gets this one record and either is sending the same contact data except for variations in which ContactList is included in ContactLists; in other words I'm making no other changes to my code other than to add a reference to the dll's dated 9/28/2011 or using the Asp .Net cs scripts.
My only other change was to change the namespace of the uploadcontact.App_code namespace (done a week ago) to ConstantContactList and the clas to ConstantContact, and Auth data username = ScriptMain.username. I'll post a down & dirty SSIS CtCt API soup to nuts how-to when I get some time...
My work-around is to abandon the dll's in favor of the cs scripts. I already had my own generic method to make a stream, I just added an enum for listType to compose the AddressUri and added logic to get the lastUpdate cutoff date from my ctctLog and I now have Active, Removed & DoNotMail lists in SQL. Triggers fire to eval the data and update the CRM data as needed.
The holidays have come and gone. For many seasonal businesses, this means the rush of shoppers has decreased as well. Instead of turning off the lights and waiting for spring, make your email marketi...
See Article