两个站点之间的数据传输

时间:2012-09-22 08:35:38

标签: c# xml asp.net-mvc json

我使用的是Asp.Net Mvc 4
www.hostname.com从我的报告到我的网站.hostname2.com
发送和接收数据以通过字符串bi codebehind直接移动到该地址 querysstring not,因为发送一个很长的字符串

我的意思是rapor.coskunoglu.net/Pdf地址发送字符串数据直接移动到
那个地址 使屏幕显示的屏幕PDF。

我该怎么做? 谢谢你,放轻松。

对不起,我的英语不好。


EDIT0:
我想使用POST。
 sb - >我的StringBuilder。

byte[] bytt = Encoding.UTF8.GetBytes(sb.ToString());   
 WebRequest wr = WebRequest.Create("http://report.hostname2.com/Pdf");   
 wr.ContentType = "application/x-www-form-urlencoded";   
 wr.ContentLength = bytt.Length;   
 wr.Method = "POST";   
 Stream st = wr.GetRequestStream();   
 st.Write(bytt, 0, bytt.Length);   
 st.Close();

发送POST后我想去report.hostname2.com。 你看到我的工作了吗?

1 个答案:

答案 0 :(得分:0)

实现这一目标的一种方法是将要传输的数据存储到两个站点之间的某个共享数据库中,然后将id作为查询字符串发送到另一个站点,以便它可以检索数据。如果您不能使用共享数据库,那么剩下的就是标准HTTP协议意味着:

  • GET - 查询字符串 - 如果数据很大,则在您的情况下不切实际
  • POST - 生成表单然后将此表单提交到远程站点 - 对于您的案例可能是一个很好的解决方案,因为您的大小不受限制

或者,您可以使用WebClient来发布一些数据:

StringBuilder sb = ... the data to send

using (var client = new WebClient())
{
    var values = new NameValueCollection
    {
        { "data", sb.ToString() }
    };
    byte[] result = client.UploadValues("http://report.hostname2.com/Pdf", values);
}

然后在远程站点上,您可以从请求中读取data POST参数。