我从代码中的控制器调用wcf服务,它在localhost中工作正常,但发布后未正常运行
本地主机中的消息 StatusCode:200,ReasonPhrase:“ OK”,版本:1.1,内容:System.Net.Http.StreamContent,标头:{Access-Control-Allow-Origin:* Access-Control-Allow-Headers:内容类型Access-Control -允许方法:GET,POST,PUT,DELETE,OPTIONS缓存控制:私人日期:周二,2019年6月18日07:12:54 GMT服务器:Microsoft-IIS / 8.5 X-AspNet版本:4.0.30319 X-技术支持:ASP.NET内容长度:7内容类型:application / json; charset = utf-8}
发布后的消息 状态码:400,原因短语:“错误请求”,版本:1.1,内容:System.Net.Http.StreamContent,标头:{Access-Control-Allow-Origin:* Access-Control-Allow-Headers:Content-Type Access-控件允许方法:GET,POST,PUT,DELETE,OPTIONS缓存控件:私有日期:Tue,18 Jun 2019 07:15:48 GMT Server:Microsoft-IIS / 8.5 X-AspNet-Version:4.0.30319 X -技术支持:ASP.NET内容长度:3131内容类型:text / html}
代码为
double leaveacess = 0;
using (var client = new HttpClient())
{
var empdetail = new Leave_Details() { empid = items.empid.ToString(), fromdate = d1, todate = d2, tabt = "1", jdis = "0" };
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.BaseAddress = new Uri("http://vkalra.org/WCF_SERVICE/RestServiceImpl.svc/");
var postTask = client.PostAsync("Leave_Calculation", new StringContent(new JavaScriptSerializer().Serialize(empdetail), Encoding.UTF8, "application/json"));
var result = postTask.Result;
obj.error = result.ToString();
if (result.IsSuccessStatusCode)
{
var readTask = result.Content.ReadAsStringAsync();
string insertedStudent = readTask.Result.ToString();
string[] splitval = insertedStudent.Split(',');
leaveacess = Convert.ToDouble(splitval[0].ToString().Substring(1));
}
}