在SilverLight使用WebClient對Server端叫用網頁(.aspx or .ashx)取回Binary時,若網頁丟出例外, 在SilverLight收到的例外會是"遠端伺服器傳回一個錯誤: NotFound。 這樣的訊息在Client端根本不知道是發生什麼事,所以改成回傳一份訊息byte,寫法如下 Server 端 byte[] byteArray = System.Text.Encoding.Default.GetBytes(str); Response.Clear(); Response.BinaryWrite(byteArray); Response.End(); SilverLight string str = System.Text.Encoding.Default.GetString(byteArray); 但...此行程式在SilverLight不支援,所以無法使用。 參考別人寫的可以使用Base64轉,但..中文字不能轉,所以我沒用。 http://wincn.org/post/330.html 最後參考小朱的一段Byte與字串互轉的程式,測試後互轉沒問題 Server 端 byte[] byteArray = Encoding.UTF8.GetBytes ("發生例外!"); Response.Clear(); Response.BinaryWrite(byteArray); Response.End(); SilverLight byte[] byteArray = new byte[e.Result.Length]; e.Result.Read(byteArray, 0, byteArray.Length); string errorMsg= Encoding.UTF8.GetString (byteArray, 0, byteArray.Length);