Strange IIS/WCF Web Service Issue

Windows Server 2012 - IIS 8.x

I have a WCF web service (DLL) deployed in IIS that supports SOAP and REST over https. There is a certificate installed from Comodo for the SSL.

When I create a proxy for the service in C# apps everything works fine. Also, when I call most of the REST methods from a browser or from Postman they also work fine.

But there are a few REST methods that fail with no exception. In Chrome browser I get an error that says: "This site can't be reached." In Postman I get an error that says: "Could not get any response."

When I check the code in the WCF service I can see that the method gets called and actually executes with no exception, but nothing is returned. I've also checked the IIS logs and I don't seem to see any errors.

Here is an example of a method that works fine:

[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/GetActivityRules?agencyID={agencyID}")]
List<ActivityRule> GetActivityRules(int agencyID);

Yet, this method fails:

[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/GetActivity?agencyID={agencyID}&userID={userID}&date={date}&view={view}")]
List<Activity> GetActivity(int agencyID, int userID, string date, string view);

Has anyone experienced this before or have any ideas why this is happening or how best to troubleshoot?

UPDATE #1

I added code to the GetActivity function that writes to a log file each time its called. I can see the function executes correctly without error each time, but still there is no response. Makes me wonder if the problem is not related to WCF. I also added a trace listener to web config, but the file never gets created.

<system.diagnostics>
      <sources>  
            <source name="System.ServiceModel"   
                    switchValue="Information, ActivityTracing"  
                    propagateActivity="true">  
            <listeners>  
               <add name="traceListener"   
                   type="System.Diagnostics.XmlWriterTraceListener"   
                   initializeData= "C:\Samadhi\TraceLog.svclog" />  
            </listeners>  
         </source>  
      </sources>  
   </system.diagnostics>

UPDATE #2

I spent a week of mind numbing searching, reading, and checking everything I possibly could with no result. I raised a support issue with Microsoft, which was escalated to one of their senior engineers. They have spent two days looking into the problem with still no solution. They tell me they have never seen this before!

I tried using your code and testing it locally, and it looked like everything was working fine. Even if method 2 contains multiple parameters, WCF can receive them. I think the problem is somewhere else. For example, if the data volume transfer is too large, please try to configure the following code in the binding.

<binding name="mybinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" sendTimeout="00:10:00" receiveTimeout="00:10:00">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" />

Or you can construct the collection return directly to eliminate problems with backend data queries.

Strange IIS/WCF Web Service Issue - MSDN, Windows Server 2012 - IIS 8.x. I have a WCF web service (DLL) deployed in IIS that supports SOAP and REST over https. There is a certificate  When you host your service under IIS, no matter if you enable streaming or not, your service will buffer the entire message prior to sending it. The reason for this, is that it appears as though WCF does not set the Response.BufferOutput to "false" (default is true), when streaming is enabled on a service.

to enable wcf tracing, you have to create a source configuration for System.ServiceModel. This should trace the service serialization:

<system.diagnostics>
<sources>
  <source name="System.ServiceModel" switchValue="Verbose" propagateActivity="true">
    <listeners>
      <add name="svc" />
    </listeners>
  </source>
</sources>

<sharedListeners>
  <add name="svc" type="System.Diagnostics.XmlWriterTraceListener" traceOutputOptions="DateTime" initializeData="c:\trace.svclog" />
</sharedListeners>

<trace autoflush="true" indentsize="4">
  <listeners>
    <add name="svc" />
    <remove name="Default" />
  </listeners>
</trace>
<system.diagnostics>

WCF requests to IIS-7 endpoint/service timing out : The Official , The basic configuration is a WCF client running within a Windows service on a What is very strange about this problem is restarting IIS (or the  This error message occurs when "Windows Communication Foundation HTTP Activation" is not explicitly set in the Control Panel. To set this go to the Control Panel, click Programs in the lower left-hand corner of the window. Click Turn Windows features on or off.

How frustrating software development can be. I swear I'm going to need hair replacement therapy soon. I finally found what was causing the issue, and as is most often the case, it boils down to my programming error. The frustrating part is when you have no error message, or when a framework throws a generic error that gives no clue as to what's wrong.

The issue came down to the fact that WCF was unable to return the JSON result - unable to parse the list of objects into JSON. This happened because an uninitialised date value was outside the allowed min and max values. The net result was no response from the server, not even an error code. When calling the same method using SOAP, the XML parsed fine - only the REST call was failing.

I initially had problems setting up WCF trace. For some reason it was causing the service to stop working. And because it was a production server, I had only limited time frames to work with when making config changes. Finally after seeing the JSON error message I knew what to do to fix the problem.

1. WCF Essentials, Selection from Programming WCF Services, 4th Edition [Book] The main advantage of hosting a service on the Microsoft IIS web server is that the not all of the behaviors in this book are explicitly named, except in the rare cases in which a  A WCF service that runs in the IIS environment takes full advantage of IIS features, such as process recycling, idle shutdown, process health monitoring, and message-based activation. This hosting option requires that IIS be properly configured, but it does not require that any hosting code be written as part of the application.

WCF REST Services and Could no load file or assembly Error , NET hosted WCF service: The odd thing about the error is that it only but even restarting IIS doesn't solve this particular problem either. Configure the WCF Service. IIS-hosted WCF services store their configuration in the applications Web.config file. IIS-hosted services use the same configuration elements and syntax as WCF services hosted outside of IIS. However, the following constraints are unique to the IIS hosting environment: Base addresses for IIS-hosted services.

[Solved] Problems with hosting WCF service on IIS (using WAS) for , I created a simple WCF service and hosted it in IIS by creating a new website. In Web.config file,I am providing bindings for http and net tcp. I created a WCF service to upload XML file data into SQL Server table. This web service is working fine with XML small file data but it has an issue with larger XML file size.

WCF Web Service Performance IIS to Plex C Sharp Server, WCF Web Service Performance IIS to Plex C Sharp Server we are having the problem are configured as follows: The IIS server is outside our firewall I am able to shield the API user from much of the 'strange' complexity (e.g. BlockFetch)​. We have the infamous Kerberos double hop issue. This is a brand new domain, being migrated from another provider where impersonation and delegation was previously working. We have upgraded OS's and to the latest SQL server (2017). WPF app (using domain creds) -> Web Service (WCF app on IIS 10) -> SQL 2017 (named instance)

Comments
  • I added code to the GetActivity function that writes to a log file each time its called, and I can see the function executes correctly without error each time, but still there is no response. makes me wonder if the problem is not with WCF.
  • thxs for your suggestion, but my binding config has these quotas already set. also I get a different error if the packet size is too large. this method (when called from SOAP) only returns about 2kB of data. it's so weird because as far as I can tell all other methods are working fine (SOAP and REST) even with similar or same kind of arguments.
  • I tried this but it caused my service to stop working.
  • any hint in windows event log? Please check "Cusom Views" -> "Administrative Events" in event viewer