代码之家  ›  专栏  ›  技术社区  ›  Robert Massa

在哪里/如何本地化Web服务中引发的异常?

  •  2
  • Robert Massa  · 技术社区  · 16 年前

    假设我有一个Web服务,它返回基于传入用户的图像集合。现在我用一个无效的用户调用Web服务。调用引发UnauthorizedAccessException,并显示一条消息,说明用户无权获取集合。

    我希望此邮件本地化。我应该在客户端基于错误代码将此消息本地化到哪里?或者首先要将“language”参数传递给方法吗?我是否使用HTTP状态代码以便客户端能够本地化消息?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Dead account    16 年前

    返回错误代码对于Web服务和一般情况一样糟糕,原因也是一样的-如果您要求所有调用方在调用服务后检查错误代码,那么 一些 打电话的人不会这样做。

    您应该在服务中抛出异常。这些异常将变成SOAP错误。在客户端上,这些将显示为异常(至少对于.NET客户端)。如果您选择显示这些异常的消息属性,则由您决定。如果您选择显示它,那么您也可以在客户机上对其进行本地化。

    考虑-否则,您必须告诉服务客户机的文化,只需向服务发送本地化文本即可将其发送回客户机。最好将这些信息简单地保存在客户机上。

    推荐文章