来自WCF服务的响应不一致

时间:2016-02-19 13:01:53

标签: c# wcf

我有一个托管在IIS7中的WCF服务,这个服务只是另一个服务的包装器,所以它调用实际服务然后返回一个响应然后传递给客户端。我遇到的问题是我发送请求并返回数据,当我发送第二个请求时,我得到以下错误:请你在这里分享一些问题。

<!DOCTYPE html>
<html>
<head>
    <title>Specified argument was out of the range of valid values.<br>Parameter name: value</title>
    <meta name="viewport" content="width=device-width" />
    <style>
     body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 
     p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
     b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
     H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
     H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
     pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}
     .marker {font-weight: bold; color: black;text-decoration: none;}
     .version {color: gray;}
     .error {margin-bottom: 10px;}
     .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
     @media screen and (max-width: 639px) {
      pre { width: 440px; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }
     }
     @media screen and (max-width: 479px) {
      pre { width: 280px; }
     }
   </style>
</head>

<body bgcolor="white">

        <span><H1>Server Error in '/VendorSelfCarewebapi' Application.<hr width=100% size=1 color=silver></H1>

        <h2> <i>Specified argument was out of the range of valid values.<br>Parameter name: value</i> </h2></span>

        <font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
           <b> Description: </b>   An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
        <br><br>

        <b> Exception Details: </b>System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.<br>Parameter name: value<br><br>

        <b>Source Error:</b> <br><br>

        <table width=100% bgcolor="#ffffcc">
           <tr>
              <td>
                  <code>An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.</code>
              </td>
           </tr>
        </table>
        <br>
        <b>Stack Trace:</b> <br><br>
        <table width=100% bgcolor="#ffffcc">
           <tr>
              <td>
                <code><pre>
                [ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
                Parameter name: value]
                 System.Web.HttpResponse.set_StatusDescription(String value) +3165151
                 System.Web.HttpResponseWrapper.set_StatusDescription(String value) +9
                 System.Web.Http.WebHost.HttpControllerHandler.CopyResponseStatusAndHeaders(HttpContextBase httpContextBase, HttpResponseMessage response) +53
                 System.Web.Http.WebHost.&lt;ConvertResponse&gt;d__6.MoveNext() +96
                 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
                 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
                 System.Web.Http.WebHost.&lt;ProcessRequestAsyncCore&gt;d__0.MoveNext() +381
                 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
                 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
                 System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar) +60
                 System.Web.HttpTaskAsyncHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +6
                 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9651516
                 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +155
                </pre></code>

              </td>
           </tr>
        </table>

        <br>

        <hr width=100% size=1 color=silver>

        <b>Version Information:</b>&nbsp;Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34274

        </font>

</body>
</html>

[ArgumentOutOfRangeException]: Specified argument was out of the range of valid values.
Parameter name: value
   at System.Web.HttpResponse.set_StatusDescription(String value)
   at System.Web.HttpResponseWrapper.set_StatusDescription(String value)
   at System.Web.Http.WebHost.HttpControllerHandler.CopyResponseStatusAndHeaders(HttpContextBase httpContextBase, HttpResponseMessage response)
   at System.Web.Http.WebHost.HttpControllerHandler.<ConvertResponse>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Web.Http.WebHost.HttpControllerHandler.<ProcessRequestAsyncCore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar)
   at System.Web.HttpTaskAsyncHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

1 个答案:

答案 0 :(得分:2)

这是一项REST服务吗?一个SOAP服务?? 我认为您没有在服务中处理异常,因此您从IIS获取默认响应,这是一个网页。

您应该在服务中处理异常并返回包含异常详细信息的对象(或XML)。

如果是调用错误,您应该尝试自定义处理服务上的传入请求。

或许这可以帮助Specified argument was out of the range of valid values. Parameter name: site