WCF服务在/ js请求上返回错误500

时间:2010-06-10 09:48:32

标签: asp.net wcf iis

我有一个随机开始失败的wcf服务,当请求wcf支持的自动生成的javascript时。但我没有运气跟踪原因,js的东西是wcf功能集的一部分。所以我不知道它是如何突然开始失败并且在IIS被回收之前无法工作。

http日志给了我:

2010-06-10 09:11:49 W3SVC2095255988 myip GET /path/myservice.svc/js _=1276161113900 80 - ip browser 500 0 0

所以它的错误是500,这是我唯一能想到的。事件日志不包含任何信息。

对/path/myservice.svc的请求工作得很好。在回收IIS后,它再次运行,几天后它开始失败,直到我回收IIS。

     <service
        name="path.myservice"
        behaviorConfiguration="b">
        <endpoint
           address=""
           behaviorConfiguration="eb"
           binding="webHttpBinding"
           contract="path.Imyservice" />
     </service>
     ...
     <endpointBehaviors>
        <behavior name="eb">
           <enableWebScript />
        </behavior>
     </endpointBehaviors>
     <serviceBehaviors>
        <behavior name="b">
           <dataContractSerializer maxItemsInObjectGraph="2147483647" />
           <serviceMetadata httpGetEnabled="true" />
           <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
     </serviceBehaviors>

我也没有在web.config设置中看到任何问题。

我可以找到解决问题的方法吗?

修改

只是为了说清楚 - 这是javascript的生成失败,我的代码永远不会被调用。对服务的调用工作正常。

2 个答案:

答案 0 :(得分:2)

您的WCF服务似乎抛出异常。您可以在Global.asax的Application_Error方法中捕获此未处理的Exception,而不是将其写入日志文件。

protected void Application_Error(object sender, EventArgs e)
{
    Exception ex = Server.GetLastError().GetBaseException();
    //TODO: write to log
}

答案 1 :(得分:2)

我建议您在服务中使用enable tracing,然后使用Service Trace Viewer Tool查看生成的日志。仅跟踪错误以保持日志小。