Recently I looked at a performance problem when transferring image data from a custom HttpListener to web browser clients. In the end it came down to one change I had done which was writing the image data to a memory stream first – this was required so I could add the right content-length header to the output based on the actual image size which some of my clients required. Before this change I had directly written the image to the output stream when it was generated but the modified code looked ......