假设我有一个Web服务,它根据传入的用户返回一组图像。现在我用无效的用户调用Web服务。该调用抛出一个UnauthorizedAccessException,并显示一条消息,指出用户无权获取该集合。
我想要将此消息本地化。我在哪里根据错误代码在客户端本地化此消息?或者我首先将“语言”参数传递给方法?我是否使用HTTP状态代码,以便客户端可以本地化消息?
答案 0 :(得分:2)
返回错误代码与Web服务一样糟糕,并且出于同样的原因 - 如果您要求所有调用者在调用服务后检查错误代码,那么某些调用者将会失败这样做。
您应该在服务中抛出异常。这些异常将变为SOAP Faults。在客户端上,这些将显示为异常(至少对于.NET客户端)。如果您选择显示这些例外的Message属性,那取决于您。如果您选择显示它,那么您也可以在客户端进行本地化。
考虑 - 否则,您必须告诉服务客户端的文化,只需要服务可以将本地化的文本发送回客户端。最好将这些信息保存在客户端上。