我在 ASP.NET,WinForms和WebClient上玩得很开心。所以我使用我的 ASP.NET 应用程序作为我的桌面应用程序的后端通信,并且在将数据发送到控制器后,我成功地从控制器返回简单的字符串/整数值,但是当我尝试变得复杂并将整个对象作为文件返回时,内容返回空白(但它确实在响应中显示了自定义内容类型(。这是我下面的代码,我做错了什么吗?(第一次像这样弄乱网络客户端:)(
控制器
[AllowAnonymous]
[HttpGet]
public APIRegister(....)
{
// ..... Create User Account / etc .....
return File(Methods.Conversions.ObjectToArray(SomeData), "application/custom");
}
"ObjectToArray"方法只是将对象转换为字节数组。
客户
HttpWebRequest WR = (HttpWebRequest)HttpWebRequest.Create(MyUrl/Account/APIRegister?Params...);
byte[] RawResponse = new byte[0];
using (HttpWebResponse WD = (HttpWebResponse)WR.GetResponse())
{
Stream SR = WD.GetResponseStream();
RawResponse = Methods.Conversions.StreamToArray(SR);
}
内容始终返回零长度,但它确实保留了"应用程序/自定义"的内容标头类型,因此它返回的不是实际内容本身。任何帮助不胜感激!
Federico的评论,决定尝试将"小"数据分离到JSON请求中比使用HTTP GET文件方法更好/更可行。