public async void LogOutUser(string sessionId)
{
...
catch (Exception ex)
{
throw new FaultException("Session Unauthorized", CustomFaultCode.SessionUnknownError);
}
}
上面的代码崩溃了IIS Apppool。但是,下面的代码将FaultException返回给客户端:
public async Task<List<User>> GetUserList(string sessionId)
{
...
catch (Exception ex)
{
throw new ServiceFaultException("Invalid SessionID", CustomFaultCode.SharedSessionUnknownError);
}
}
}
两种方法仅标有[OperationContract]属性。为了测试我正在使用WCFTestClient。
答案 0 :(得分:0)
尝试从操作返回一个Task,这将允许WCF知道操作成功完成或有错误并将错误传递给客户端:
public async Task LogOutUser(string sessionId)