• 0

[C#] soap is slow


Question

I was just noticing while transferring my binary files from my database my network utilization was only running about about 5.26%. Is there a reason .NET doesn't use 100% of your bandwidth when you are calling a web soap call? I'm transferring PDF files (which can avg about 6 MB per file) and it is agonizingly slow. The call is super fast for calls that the file is 500 KB or less. I have the feeling if it was really transferring the soap call as quickly as it could the network % would be 100 would it not?

Link to comment
https://www.neowin.net/forum/topic/1072085-c-soap-is-slow/
Share on other sites

14 answers to this question

Recommended Posts

  • 0

I was just noticing while transferring my binary files from my database my network utilization was only running about about 5.26%. Is there a reason .NET doesn't use 100% of your bandwidth when you are calling a web soap call? I'm transferring PDF files (which can avg about 6 MB per file) and it is agonizingly slow. The call is super fast for calls that the file is 500 KB or less. I have the feeling if it was really transferring the soap call as quickly as it could the network % would be 100 would it not?

Your assumption sir, is incorrect.

  • 0

SOAP isn't really designed for large files. It's supposed to be for messaging between endpoints. I would recommend using SOAP to expose a URL for the file and using normal HTTP or other methods for transferring the files.

This article may help some: http://msdn.microsoft.com/en-us/library/aa480521.aspx

  • Like 2
  • 0

I just spent the last couple months implementing a java soap web service in an asp.net application (it took so long because the group that wrote it either didn't care or didn't know that it didn't work in anything except java applications, and they had to fix it). All the service does is return either an image (as a byte array) or a URL to the image. Most of the images are less than 200KB, but there's a few that are over 1MB, and those take noticeably longer to retrieve and this is an internal intranet site. Like GreyWolf said, it'd be better to expose the URL to the file you want instead of actually returning the file, but if this is not an option, then you just have to work with what you have.

  • 0

Well all of the PDFs are stored as a byte array in a database. So I guess in theory I could save a tmp file and then expose the url to that tmp file. I'm guessing then use another method to download that file. The question is would that create more overhead then the way it's already being done?

  • 0

Well all of the PDFs are stored as a byte array in a database. So I guess in theory I could save a tmp file and then expose the url to that tmp file. I'm guessing then use another method to download that file. The question is would that create more overhead then the way it's already being done?

That's exactly what I did with the images that were coming back. I saved them on the server, then returned the direct URL to that image. There shouldn't be much (if any) overhead doing this other than the amount of time it'd take to save the file and finish the post back.

  • 0

Well all of the PDFs are stored as a byte array in a database. So I guess in theory I could save a tmp file and then expose the url to that tmp file. I'm guessing then use another method to download that file. The question is would that create more overhead then the way it's already being done?

I would say store the PDFs on a server with an accessible URL and store the address in the database. Did you check out the MSDN article I linked earlier? It has a number of suggestions on how to handle exactly what you're trying to do.

This article about SOAP + Attachments is referenced in the MSDN one but the link is old. It may be helpful as well.

  • 0

Sorry I should have mentioned I did look at those articles and they are really interesting. I'm going to go with the WCF MTOM route I think and re-design the core transfer functions. I don't know much about WCF but it looks really similar to regular web service (.asmx) coding. Or I may do the URL part I'm not sure. So many options lol. I really like the idea of the files being stored as a byte array blob in the database but if that just isn't a good practice maybe I should re-consider my methods. Because WCF will be basically the same thing just with a slightly more optimized method of transporting the xml file if I am not mistaken? MTOM just is an optimized method of transferring binary parts via soap message right?

  • 0

can you return sockets from web services to write data to?

You can, but there can be issues with it. Check the section labeled "Other Hybrid Approaches" in that article. :)

In reference to MTOM: http://msdn.microsof...y/aa528822.aspx

If your client and server are both using .NET you might also look into using remoting.

  • 0

I think part of the problem with the method I am currently using is that I may have my app.config setup incorrectly. There is a way I've heard to change how much data gets buffered / sent at once. So in theory if my internet can handle 1.2 MB/s then I could buffer 1.2MB then send it off as one chunk right?

  • 0

I think part of the problem with the method I am currently using is that I may have my app.config setup incorrectly. There is a way I've heard to change how much data gets buffered / sent at once. So in theory if my internet can handle 1.2 MB/s then I could buffer 1.2MB then send it off as one chunk right?

Theoretically; but I wouldn't advise it

This topic is now closed to further replies.
  • Posts

    • Microsoft further improving Windows 11 Taskbar with latest builds by Sayan Sen Microsoft has released new Windows 11 builds for users flighting the Experimental channels. The new builds are 26300.8758 for Windows 11 26H2, 28120.2374 for 26H1, and 29617.1000 for future platforms. There are improvements related to the Taskbar, File Explorer and more with the new update. The full changelogs are given below: First we have the build 26300.8758: Changes and improvements gradually being rolled out [Taskbar] Taskbar customization just got easier. As we continue to make improvements to the Taskbar experience mentioned last month, we've introduced a dedicated Taskbar Size setting, making it simpler to find, understand, and personalize your ideal taskbar experience. UI showing the new Taskbar Size setting in Settings. We've also made refinements to the transitions between taskbar sizes for a smoother overall experience. [File Explorer] We've improved the reliability of thumbnail previews for cloud files in the Details pane. The pane has also been reorganized so file properties are easier to find and review at a glance. Fixed an issue where the OneDrive shortcut in File Explorer stops working when File Explorer is run in administrative mode. Fixed an issue where the confirmation dialog might display an internal Recycle Bin file name instead of the original file name when permanently deleting a file. [Sounds] Improved system sounds when using Windows in dark mode. Up next we have build 28120.2374: Changes and improvements gradually being rolled out This update includes a small set of general improvements and fixes [Mobile Device Settings] You can add and manage your mobile devices in Settings under Bluetooth & Devices > Mobile Devices. On this page, you can manage features such as using your device as a connected camera or accessing your device's files in File Explorer. [Remote Recovery Management] Added a recovery remote management plug-in to extend WinRE management capabilities for MDM providers. [Input] The emoji panel (Windows key + period (.)) now uses GIPHY as the GIF provider, delivering a smoother GIF browsing and sharing experience following the deprecation of the Tenor API. Finally we have the changelog for Windows 11 build 29617.1000: Changes and improvements gradually being rolled out [Windows Update] As announced in the Windows Update announce blog, we are now bringing a new unified update experience to reduce the number of reboots you see per month. We are starting by coordinating driver, .NET, and firmware updates to align with the monthly quality update, reducing the update experience to a single monthly restart. See the blog for more information. [Windows Magnifier] Magnifier now gives you more control over how you zoom. You can type an exact zoom percentage directly in the magnifier toolbar to land on precisely the level you need. We've also added preset step increments (5%, 10%, 25%, 50%, 100%, 150%, 200%, and 400%) to the Settings dropdown, so you can jump to common levels in a single click. Whether you need a subtle boost or a dramatic close-up, Magnifier adapts to how you want to zoom. Enter an exact percentage or jump to preset steps —5% up to 400%. Feedback: Share your thoughts in Feedback Hub (WIN + F) under Accessibility > Magnifier. [Accessibility] We're introducing screen tint, a new accessibility setting that applies a color overlay across your entire display, softening its intensity so it's easier on your eyes throughout the day. If bright, saturated screens leave you with tired or sensitive eyes by the end of a long session, screen tint can help. Screenshot showing UI for screen tint in Accessibility, with color presets and a strength slider. To get started, open Settings > Accessibility (or press WIN + U) and look for screen tint under the Vision section. From there, you can: Pick from six preset colors or choose a custom color of your own. Adjust the tint strength slider from a subtle wash to full intensity. Night light warms your display to reduce blue light that can interfere with sleep. Screen tint reduces overall screen intensity to ease eye fatigue and light sensitivity during the day. They tackle different problems and you can use both at the same time, one working on warmth and the other on intensity. Note that turning on screen tint will disable color filters, and vice versa. If you currently rely on color filters, you might need to keep screen tint turned off. Feedback: Share your thoughts in Feedback Hub (WIN + F) under Accessibility > Narrator. [Voice Access] Voice Access now supports Portuguese (Portugal), Portuguese (Brazil), and Korean (South Korea). [Audio] Continuing our work on improving Sound Settings, we've made a few more updates in this build: We've adjusted the description text for the Allow option in properties for audio devices to include the current state of the device, to improve the clarity of the text and the purpose of the button actions. "Listen to this device" is now available in properties for audio devices, so you don't need to enter Control Panel for this functionality. [Multiple Desktops] Improved explorer reliability when switching between multiple desktops. [Storage] We've updated the dialog when creating a Dev Drive to now support specifying the size in GB instead of only MB. This has also been added when changing the size of volumes under Settings > System > Storage. [Personalization] This update improves color selection accuracy when adjusting your accent color to match your wallpaper when automatic accent color selection is enabled in Personalization settings. This update improves wallpaper persistence reliability across restarts and upgrades, including better support for large-resolution wallpapers and other scenarios to prevent solid color wallpaper fallback. [Display and Graphics] Improves the reliability and persistence of applying color profiles. You can view the official blog posts here (link1, link2, link3) on Microsoft's site.
    • Windows 11 is getting redesigned taskbar settings in new build by Taras Buria Microsoft is rolling out new Windows 11 preview builds in the Insider program, offering users new features and changes to try ahead of public release. In the Experimental channel (formerly Dev), Microsoft is shipping build 26300.8758, while in the Beta channel, users can download build 26220.8754. The changelogs do not contain much, but there is an important update to taskbar settings. Here is what is new in build 26220.8754: [Taskbar] Taskbar customization just got easier. As we continue to make improvements to the Taskbar experience mentioned last month, we've introduced a dedicated Taskbar Size setting, making it simpler to find, understand, and personalize your ideal taskbar experience. We've also made refinements to the transitions between taskbar sizes for a smoother overall experience. [File Explorer] We've improved the reliability of thumbnail previews for cloud files in the Details pane. The pane has also been reorganized so file properties are easier to find and review at a glance. Fixed an issue where the OneDrive shortcut in File Explorer stops working when File Explorer is run in administrative mode. Fixed an issue where the confirmation dialog might display an internal Recycle Bin file name instead of the original file name when permanently deleting a file. [Sounds] Improved system sounds when using Windows in dark mode. And here is what is new in build 26220.8754: [Smart card removal policy] Administrators can now configure Azure Virtual Desktop (AVD) and Windows 365 sessions that use Microsoft Entra ID (RDS AAD Auth) authentication to automatically disconnect when a redirected smart card is removed. This extends smart card removal policy enforcement to Microsoft Entra authenticated remote sessions, helping organizations meet security and compliance requirements. [File Explorer] Fixed an issue where the OneDrive shortcut in File Explorer stops working when File Explorer is run in administrator mode. [Taskbar] Improved reliability of loading the system tray area of the taskbar. [Sounds] Improved system sounds when using Windows in dark mode. You can find release notes for build 26300.8758 here and for build 26220.8754 here.
    • Correct. Thank you unfortunately commenting on this stupid article we bring a possible more crap like that. If it gets click they post it
    • Firefox 152.0.3 by Razvan Serea Firefox is a fast, full-featured Web browser. It offers great security, privacy, and protection against viruses, spyware, malware, and it can also easily block pop-up windows. The key features that have made Firefox so popular are the simple and effective UI, browser speed and strong security capabilities. Firefox has complete features for browsing the Internet. It is very reliable and flexible due to its implemented security features, along with customization options. Firefox includes pop-up blocking, tab-browsing, integrated Google search, simplified privacy controls, a streamlined browser window that shows you more of the page than any other browser and a number of additional features that work with you to help you get the most out of your time online. Firefox key features Enhanced Tracking Protection (ETP) – Blocks trackers, cookies, cryptominers, and fingerprinters by default. Private Browsing Mode – Deletes history, cookies, and temporary files when closed. Lightweight & Fast Performance – Optimized memory usage with efficient page loading. Cross-Platform Sync – Sync bookmarks, passwords, history, and open tabs across devices. Customizable Interface – Toolbars, themes, and extensions can be tailored to user needs. Strong Privacy Controls – Options to manage cookies, permissions, and site data easily. Reader Mode – Strips away clutter for distraction-free reading. Pocket Integration – Save and read articles offline with Pocket built into Firefox. Picture-in-Picture (PiP) – Watch videos in a floating window while multitasking. Extensions & Add-ons – Vast library for productivity, security, and personalization. Built-in PDF Viewer – No need for external software to view PDFs. Firefox Monitor – Alerts users if their email is part of a known data breach. Multi-Account Containers – Isolate browsing sessions (e.g., work, personal, shopping). Performance & Resource Efficiency – Uses fewer system resources than some competitors. Open Source & Community-Driven – Transparent development with global contributions. Firefox 152.0.3 fixes: Fixed an issue that could cause extreme memory usage and freezing on startup for users with language packs installed. (Bug 2049845) Download: Firefox 64-bit | Firefox 32-bit | ARM64 | ~70.0 MB (Freeware) Download: Firefox for MacOS | 146.0 MB View: Firefox Home Page | Release Notes Get alerted to all of our Software updates on Twitter at @NeowinSoftware
  • Recent Achievements

    • Week One Done
      Scoobystu earned a badge
      Week One Done
    • Week One Done
      tuben earned a badge
      Week One Done
    • First Post
      OffsetAbs earned a badge
      First Post
    • Reacting Well
      OffsetAbs earned a badge
      Reacting Well
    • First Post
      Kolakid60 earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      438
    2. 2
      +Edouard
      197
    3. 3
      PsYcHoKiLLa
      156
    4. 4
      FloatingFatMan
      71
    5. 5
      Steven P.
      68
  • Tell a friend

    Love Neowin? Tell a friend!