【发布时间】:2015-12-30 17:30:56
【问题描述】:
我想在应用程序退出时调用 WCF 方法,但是,当我尝试使用此代码运行 ASP.NET 应用程序时:
protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
MaChatServer.Service1Client proxy = new MaChatServer.Service1Client();
proxy.RemoveUser(UsernameStatic);
if (proxy.GetAllUsers().Count == 0)
{
proxy.ResetServer();
}
}
我看到这个错误页面:
说明:在执行当前 Web 请求期间发生未处理的异常。有关错误及其在代码中的来源的更多信息,请参阅堆栈跟踪。异常详细信息:System.ServiceModel.FaultException:服务器无法处理请求二为内部错误。有关该错误的更多信息,请在服务器上打开 IncludeExceptionDetailInFaults(来自 ServiceBehaviorAttribute 或来自配置行为)以便将异常信息发送回客户端,或者根据 Microsoft .NET Framework SDK 文档打开跟踪并检查服务器跟踪日志。
【问题讨论】:
-
您是否按照错误消息所述进行操作?您是否启用了跟踪以查看实际错误?
-
请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”!
-
如何启用它?
-
可以在浏览器中打开端点吗?服务有效吗?
-
是的,是的,只有当我添加这个时它才起作用:protected override void OnUnload(EventArgs e) { base.OnUnload(e); MaChatServer.Service1Client 代理 = 新的 MaChatServer.Service1Client(); proxy.RemoveUser(UsernameStatic); if (proxy.GetAllUsers().Count == 0) { proxy.ResetServer(); } }