【发布时间】:2016-11-14 19:23:02
【问题描述】:
我有一个自托管的 WCF 服务器,它在特定系统上运行了一段时间后,开始返回 HTTP 500 错误。返回正文为:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Internal Server Error</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Internal Server Error</h2>
<hr><p>HTTP Error 500. An internal server error has occured.</p>
</BODY></HTML>
它失败的方法体很简单:
public Version GetServerAdminVersion()
{
return ServiceMain._AdminVer;
}
此代码通常可以正常工作(重新启动进程会使其再次工作)。我观察到在同一台机器上,它在本地环回上大约有 25% 的时间失败。我不知道接下来要尝试什么,或者可能是什么问题。
【问题讨论】:
-
您是否检查了 IIS 日志或尝试在 WCF 中启用跟踪/消息日志?
-
@mtheriault a
self hosted WCF server不使用 IIS -
是的,对...我忘记了这部分问题! ;)
-
没有足够的细节。 ServiceAdmin._AdminVer 的背后是什么?是财产吗?场地?执行情况如何?我假设 ServiceMain 是单身人士?本地财产?完整的错误转储也会有所帮助。
-
ServiceAdmin._AdminVer 是一个静态字段。所以,它实际上没有任何事情要做。没有错误转储。客户端通过网络收到 500 错误和上面的消息。