簡體   English   中英

不在azure服務器上工作但在本地環境中工作正常嗎?

[英]Not working on azure server but works fine in local environment?

我有jQuery Ajax方法來調用C#代碼中的Web方法。 代碼在本地環境中工作正常,但在服務器中不起作用。 但是一些web方法和jQuery Ajax調用在普通的SQL語句中運行良好,但是在web方法中存儲過程會返回一些不起作用的數據。 它顯示錯誤消息

{消息:“處理請求時出錯。”,StackTrace:“”,ExceptionType:“”}
ExceptionType: “”
消息:“處理請求時出錯。”
堆棧跟蹤:””

這是我的Ajax調用......

$.ajax({
            url: "AutoRFQ_Vendors_SP.aspx/BindGrid"
            , type: "POST"
            , data: JSON.stringify(objdrpdata)
            , contentType: "application/json;"
            , success: function (data) {
                $body.removeClass("loading");
                var vendorsource = {
                    datatype: "json"
                    , localdata: data.d
                    , datafields: [
                        {
                            name: 'CommonMakerNameDisplay'
                        }
                        , {
                            name: 'EqpExtendType'
                        }
                        , {
                            name: 'CommonMakerName'
                        }
                        , {
                            name: 'IsForAutoRFQ'
                        }
                        , {
                            name: 'VendorName'
                        }
                        , {
                            name: 'CurrencyCode'
                        }
                        , {
                            name: 'Proc_Vendors_AllowedCurrencyID'
                        }
                        , {
                            name: 'SortCode'
                        }
                        , {
                            name: 'xSortCode'
                        }
                        , {
                            name: 'IsTitle'
                        }
                        , {
                            name: 'NoOfRFQs'
                        }
                        , {
                            name: 'NoOfOrders'
                        }
                        , {
                            name: 'TotalPOAmtInUSD'
                        }
                    }
                });

這是我的網絡方法:

[WebMethod(EnableSession = true)]
public static string BindGrid(string vslFilter, string yearFilter, string eqpmtFilter) 
{
      DataTable dt = null;

      string gridvendorlist = "";

      try 
      {
           if (HttpContext.Current.Session["P_Hub_AutoRFQVendorDataTable"] == null || (string) HttpContext.Current.Session["P_Hub_AutoRFQVslFilter"] != vslFilter || (string) HttpContext.Current.Session["P_Hub_AutoRFQYearFilter"] != yearFilter || (string) HttpContext.Current.Session["P_Hub_AutoRFQEqpmtFilter"] != eqpmtFilter) 
           {
               string vslFilterType = "", vslFilterValue = "";

               if (vslFilter.Length == 3) 
                   vslFilter = "VSL-" + vslFilter;

               string[] vslType = vslFilter.Trim().Split('-');

               if (vslType[0].ToString().Trim().ToUpper() == "VSL") 
               {
                   vslFilterType = "VSL";
                   vslFilterValue = vslType[1].ToString();
               } 
               else if (vslFilter != "-1") 
               {
                   vslFilterType = "Group";
                   vslFilterValue = vslFilter.ToString();
               }

               string spName = "W_Enh_CommonMakers_RFQVendors";

               string[] paramField = { "@CompanyCode", "@VslFilterType",
                                       "@VslFilterValue", "@NoOfYrToShow",
                                       "@EQ_EquipmentID" };
               object[] paramValue = { GenFuncs.COMPANYCODE,
                                       vslFilterType,
                                       vslFilterValue,
                                       yearFilter,
                                       eqpmtFilter };
               dt = DBFuncs.dbExecuteSP(spName, paramField, paramValue);

               HttpContext.Current.Session["P_Hub_AutoRFQVendorDataTable"] = dt;
               HttpContext.Current.Session["P_Hub_AutoRFQVendorSelectedRowIndex"] = null;
               HttpContext.Current.Session["P_Hub_AutoRFQ_ScrollIndex"] = null;
               HttpContext.Current.Session["P_Hub_AutoRFQVslFilter"] = vslFilter;
               HttpContext.Current.Session["P_Hub_AutoRFQYearFilter"] = yearFilter;
               HttpContext.Current.Session["P_Hub_AutoRFQEqpmtFilter"] = eqpmtFilter;

               gridvendorlist = Func_Ajax.GetJson(dt);
           } 
           else 
           {
               dt = (DataTable)HttpContext.Current.Session["P_Hub_AutoRFQVendorDataTable"];
               gridvendorlist = Func_Ajax.GetJson(dt);
           }
      } 
      catch (Exception err) 
      {
           GenFuncs.AddToErrLog("-1", "xxx", "Error", err.Message, Path.GetFileName(HttpContext.Current.Request.PhysicalPath), "BindGrid");
      } 
      finally 
      {
           dt = null;
      }

      return gridvendorlist;
 }

我需要在服務器上做什么額外的事情嗎?

經過5個小時的探索,我終於發現了一些在我的web.config文件中的愚蠢錯誤

  <system.web.extensions>
        <scripting>
          <webServices>
            <jsonSerialization maxJsonLength="2147483647"/>
          </webServices>
        </scripting>
      </system.web.extensions>

工作正常....謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM