Results 1 to 3 of 3

Thread: Multiple requests sent to console app not working

  1. #1
    mmmtbig is offline VB.NET Forum Newbie
    .NET Framework
    .NET 4.5
    Join Date
    Dec 2014

    Multiple requests sent to console app not working

    I've developed a console app that is not working as expected. (This is my first console app - my experience with is in

    My client has several Access users with an Access app that is used to send out email from a Sql Server database of 130k
    customers. Each email is individually addressed.

    The console app gets two arguments from Access that identifies one record in Sql Server that can be used to get and send the mailing list.

    Here's the basic flow of the app:

        Sub Main()
    Dim intEmailCampaignId As Integer = 0
    Dim blnStopSendingCurrentEmailCampaign As Boolean

    Dim strArgs() As String = Environment.GetCommandLineArgs()
    intEmailCampaignId = CInt(strArgs(1))
    blnStopSendingCurrentEmailCampaign = CBool(strArgs(2))

    Dim objSend As New PrepareSendEmail
    objSend.DetermineAction(intEmailCampaignId, blnStopSendingCurrentEmailCampaign)
    objSend = Nothing
    End Sub

    Public Sub DetermineAction(intEmailCampaignId As Integer, blnStopSendingCurrentEmailCampaign As Boolean)
    If blnStopSendingCurrentEmailCampaign = True Then 'stop sending this campaign

    Else 'prepare email for sending
    intCurrentEmailCampaignId = intEmailCampaignId
    End If
    End Sub

    Private Sub GetCampaignData(intCurrentEmailCampaignId As Integer)
    'Gets the record for the Campaign from tblEmailCampaigns, including the Jet sql for the insert

    Public Sub CreateSendToRecordsFromInsertQuery(strEmailToQuerySql As String)
    'gets the Jet INSERT Sql and converts it to T-SQL for use with Sql Server, where it runs the insert
    ' to create the records for sending

    Private Sub GetSendToRecords()
    'Gets the records inserted to start the send process by creating each email, then loops through
    ' the recordset sending each email

    The problem: when a second user sends the arguments, nothing happened.
    Last edited by jmcilhinney; 12-18-2014 at 8:41 PM. Reason: Fixed code formatting

  2. #2
    jmcilhinney's Avatar
    jmcilhinney is offline VB.NET Forum Moderator
    .NET Framework
    .NET 4.0
    Join Date
    Aug 2004
    Sydney, Australia
    Firstly, lets address something that you seemed confused about in your previous thread. If you invoke this application twice then you are going to have two separate, completely independent instances of the application that don't know anything about each other. Are you aware of that or are you expecting there to only be one instance doing it all?

    Assuming that you do realise that there will be independent instances, what EXACTLY are the commandline arguments passed to the second instance, what EXACTLY do you expect to happen and what EXACTLY does happen? If all you can say is "nothing happens" then that's not very helpful because obviously SOMETHING happens but you just don't know what it is. With that in mind, you could add some tracing code that will, for instance, write to a file to tell you where the code is up to and what values your variables are holding at any particular stage. That is how to know what actually is happening.

  3. #3
    mmmtbig is offline VB.NET Forum Newbie
    .NET Framework
    .NET 4.5
    Join Date
    Dec 2014
    No, I wasn't aware there would be two separate, completely independent instances of the application.

    When I test the app from within Visual Studio 2013 here, it works as it should. When my client runs it in a production environment, it works occasionally the first time, but not for the next job. When I run it at the client site with very small test cases, it works as it should.

    I'll need to think about the independent instances situation and how I might need to redesign the app.



Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts