Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3803418
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T14:21:36+00:00 2026-05-19T14:21:36+00:00

We currently host a lengthy form on our ASP.NET website, which makes use of

  • 0

We currently host a lengthy form on our ASP.NET website, which makes use of a public facing facade WCF service to submit information over SSL into our network through a number of other facade services, etc.

We’ve experienced some issues with downtime on the service chain, and because of this some users have been very frustrated that they complete the lengthy form, only to find out after the fact that the service isn’t up. Because of this, we are implementing a type of ping functionality on the form that will ping the service before the form is started, to ensure the service is up.

If the Ping() method is simply called during OnLoad of the form web page, there is potential for DOS attacks through for example a script that continually makes HTTP GET requests against the page.

My question is – From a conceptual level, what is the best way to ensure human interaction with the page while keeping it useable. For example, a CAPTCHA before the Ping() is called and form is started is way too intrusive even though it would be effective at ensuring the form is used properly. On the other hand simply allowing Ping() to fire OnLoad is far too risky for attacks.

One option I’ve considered is to have a button available to users which allows them to verify service availability and enable the form in one shot. This would at least be a balance between the two. I’m asking for your input on ideas for how best to balance this approach. Any asp.net, c#, or javascript/ajax based answers are fine.

Lastly – I also know there are flaws to this approach of checking service availability as there is no guarantee the service will be available by the time the form is filled out – but the decision has been made to use this approach so please keep your answers on point.

Thanks for the help and input in advance!

UPDATE 1:

In response to Josh’s answer below – I should clarify that the form data submitted is sensitive and cannot be cached on the server or stored locally for later submission if the service fails. This is why it is very important to give the user a preemptive heads up. The issues we’ve had with the services are not intermittent so if the Ping() comes back true, there is an extremely good chance the user will not experience issues submitting the form a few minutes later.

UPDATE 2:

  • The Ping() Method is currently a server-side c# method, not javascript.
  • The public facing WCF service is IP-restricted to only allow requests from the public web server
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T14:21:37+00:00Added an answer on May 19, 2026 at 2:21 pm

    Why don’t you just call Ping() when the submit button is pressed and if the service doesn’t respond then don’t submit the form and show an error.

    Something like this in jQuery. This assumses that Ping() returns true if the service is up, false otherwise:

    $('#myformid').submit(function() {
      var svcUp = Ping();
    
      if(!svcUp)
          alert("Sorry, there was an error submitting, please try again.");
    
      return svcUp;
    });
    

    Unfortunately any public facing web service that has a low calling cost but high processing cost will be vulnerable to DOS attacks without some type of throttling.

    Thankfully WCF has some useful settings for controlling throttling, take a look at MaxConcurrentCalls, MaxConcurrentInstances, and MaxConcurrentSessions

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

So I have a client who's current host does not allow me to use
Is there a simple way in .NET to quickly get the current protocol, host,
Currently we have a hybrid ASP/PHP setup connecting to a SQL Server 2005 database.
Currently I'm doing some unit tests which are executed from bash. Unit tests are
I am currently playing with couchdb and testing out the 'standalone attachments' feature, which
I need to get the host name currently running the application. Any idea?
I am currently using VMPlayer to host Windows 2008/SharePoint 2010. I created a virtual
Currently whenever a new subdomain is created for the site, a new host header
I'm just learning wcf and currently got this far. CS File: using System; using
I want to display the current host and database names in a view. Where

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.