title: Calling multiple operations on a WCF client
body: <p>I am currently looking at some code which basically reads data line-by-line from a file and calls an appropriate method on a WCF client for each line.  My problem with the code is that a new client is created for each operation ie:</p>
  
  <pre><code>function CallSomeOp(line)
   {
     using (var client = new Client()
     {
         client.SomeOp(line);
     }
   }
  </code></pre>
  
  <p>This seems to make the client close the connection and reopen a new one for each line in the file which seems like a big overhead.  What I would like to do is move the creation of the client outside the function and into initialization, so that multiple operations are called on one client, ie:</p>
  
  <pre><code> using (var client = new Client())
   {
       for(var line in lines)
       {
          CallSomeOp(line, client);
       }
   }
  </code></pre>
  
  <p>But I'm not sure if this is OK or not.  Is there some problem with calling multiple operations on a client, ie will I eventually run out of memory or something?</p>