【发布时间】:2015-10-01 06:53:37
【问题描述】:
我正在尝试将值从一个控制器传递到另一个域中的另一个控制器。我正在将数据添加到 NameValueCollection 并将其传递给另一个控制器 [httppost] 方法并在那里接收映射到与我传递的模型相同的模型的数据。
目前我正在通过同时打开两个 VS 实例在本地运行它。当两个 VS 打开时,值被正确传递并且信息被正确写入 db 并且我收到类似 "{byte[0]}" 的响应。现在,当我尝试停止目标控制器项目并尝试提交数据时,它不会工作,但我仍然得到与 "{byte[0]}" 相同的响应。有人可以帮我在这种情况下如何返回响应命令。有没有办法了解 UploadValues 已完成或未完成。
.........
.........
NameValueCollection resumeDetails = new NameValueCollection();
resumeDetails.Add("FirstName", "KRIZTE");
byte[] res = this.Post(ConfigurationManager.AppSettings["RedirectionUrl"].ToString(), resumeDetails);
return View("Index");
}
public byte[] Post(string uri, NameValueCollection resumeDetails)
{
byte[] response = null;
WebClient client = new WebClient();
response = client.UploadValues(uri, resumeDetails);
return response;
}
【问题讨论】:
-
我假设其他 域 在 IIS 或 Cassini/IIS Express 中?如果是这样,则该网站受 Windows 激活服务的控制,并会在连接进入时启动。更改您的客户端设置 url 以强制失败。 webclient 将在 http 状态码 400 及以上抛出WebException