client.PostAsJsonAsync在本地主机中正常工作,但在Web服务器中发布后无法正常工作

时间:2019-06-18 07:20:59

标签: wcf model-view-controller

我从代码中的控制器调用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));
                                }

                            }

0 个答案:

没有答案