我有一个随机开始失败的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的生成失败,我的代码永远不会被调用。对服务的调用工作正常。
答案 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查看生成的日志。仅跟踪错误以保持日志小。