返回字节数组和来自Web服务的消息

时间:2017-01-11 14:22:09

标签: asp.net web-services servicestack

我有一个用 Dotnet 编写的Web服务,它返回一个字节数组 Web浏览器指出 Excel 并让它打开。
那是幸福的道路。

但是如果我收到错误怎么办?然后我想回复某种错误,让我们说一个人类可读的字符串 我可以返回一个不同的Excel文档,一个带有错误消息,但更喜欢直接在浏览器中显示它。

甚至可能吗?
如果是这样,如何在服务器和客户端上实现它?

4 个答案:

答案 0 :(得分:3)

这是网络服务。这意味着即使您的响应内容被解释为字节数组,它仍然包含在HTTP 200 OK响应中。您不必返回HTTP 200 OK。您可以返回任何HTTP 4xx或5xx系列来表示错误。

答案 1 :(得分:1)

抛出一条带有消息的异常。然后在您的客户端捕获异常并将消息放入您的html。

答案 2 :(得分:0)

如果您只能返回字节代码,则应返回带有错误符号的图像的字节代码。它会在网络浏览器上显示

链接:

https://www.codeproject.com/Articles/15460/C-Image-to-Byte-Array-and-Byte-Array-to-Image-Conv

答案 3 :(得分:0)

您可以将byteerror包装在一个对象中并检查error是否为true,您可以显示错误消息,否则显示excel文件。

public class YourData
{
 public byte[] arrBytes {get;set;}
 public bool Error {get;set;}
}

如果您收到错误,请将Error设置为true,否则为false并返回此类的object

您可以检查Error true是否可以显示错误消息。

if(obj.Error)
 ShowError();
else
 DownloadExcel(obj.arrBytes)