使用值对铬的高级REST客户端,当我在相同的价值观和设置饲料在我的点网4.0的应用程序使用的正常工作。另一方面,当我尝试从dotnet使用客户端REST服务时,当我调用webRequest.GetRequestStream()时异常{“底层连接已关闭:一个意外错误发生在发送。“},HREsult -2146233079,内部异常”“验证失败,因为远程方已关闭传输流。”HResult -2146232800 这是我的代码,但我已更改了一些值以保护我的客户的详细信息System.Net.WebException当试图张贴到RESTful服务
当代码尝试getrequeststream()时,我的提琴手监视器会提出2个条目来显示我的应用程序正在联系服务器。它不应该只是创建一个包含授权标头和json内容的整个数据包并在一次调用中发送它?或者是t他的POST通常如何工作? Fiddler从来不会从Chrome的ARC中挑选活动,所以我无法比较。
我试过的WebRequest,Web客户端,HttpWebRequest的等,并不能得到其中的任何工作。 (我无法使用新的webclient类,因为我的主要应用程序是dotnet 4.0)。我以管理员模式运行VS。 chrome的高级REST客户端如何工作,但我的不是?有什么不同?
string parsed = @" {
"data": {
"workoutDate": "2015-01-23",
"exerciseType": "TREADMILL",
"workoutDuration": 1456,
"distance": 1382.0,
"energyConsumed": 567068.0,
"averageHeartRate": 75.0,
"averageSpeed": 1.0
},
"user": {
"email": "[email protected]",
"firstName": "Len",
"lastName": "BlTestoomers",
"gender": "MALE",
"dateOfBirth": "1984-10-27"
}
}";
// Add authorization headers
string authentication = string.Format("Authorization: RRgym SNUFFCENTRE:{0}:gymId246", EyupSecurityKey.GenerateAuthenticationKey());
// Convert the parsed string into byte[]
byte[] buffer = Encoding.UTF8.GetBytes(parsed);
string addr = "https://equipment.test.pogram.uk/acr-rest/equipment/v1/workout/endurance";
WebRequest webRequest = WebRequest.Create(addr);
webRequest.Method = WebRequestMethods.Http.Post;
webRequest.ContentType = "application/json";
webRequest.ContentLength = buffer.Length;
webRequest.Headers.Add(authentication);
Stream newStream = webRequest.GetRequestStream();
// Send the data.
newStream.Write(buffer, 0, buffer.Length);
newStream.Close();
}