1

这是下面的代码

我尝试了这个调用,但它没有用......即使这个调用中的函数是空的,我也尝试了这个只有 5 个输入参数的确切函数调用,它有效吗?这里有些可疑,希望有人可以建议,如果您有任何建议,我可以最小化此代码,这意味着参数传递我随时开放以获取建议。

下面的代码:

 [WebInvoke(UriTemplate = "customer/update/customerCode={customerCode}/customerName={customerName}/customerCountry={customerCountry}/customerTelephone={customerTelephone}/customerEmail={customerEmail}/customerCreditLimit={customerCreditLimit}/customerCommission={customerCommission}/customerRank={customerRank}/contactFullname={contactFullname}/contactBusinessPhone={contactBusinessPhone}/contactTimezone={contactTimezone}/contactActive={contactActive}/contactDepartment={contactDepartment}/contactHomePhoneExtension={contactHomePhoneExtension}/shipToCountry={shipToCountry}/shipToPaymentTerm={shipToPaymentTerm}/shipToCommissionPercent={shipToCommissionPercent}/shipToTruckSize={shipToTruckSize}/shipToTaxNumber={shipToTaxNumber}/shipToRouteCode={shipToRouteCode}/shipToOpenTime={shipToOpenTime}/shipToCloseTime={shipToCloseTime}", Method = "PUT", BodyStyle = WebMessageBodyStyle.Wrapped)]
        public void UpdateCustomer(string customerCode, string customerName, string customerCountry, string customerTelephone, string customerEmail,
                            string customerCreditLimit, string customerCommission, string customerRank, string contactFullname,
                            string contactBusinessPhone, string contactTimezone, string contactActive, string contactDepartment,
                            string contactHomePhoneExtension, string shipToCountry, string shipToPaymentTerm, string shipToCommissionPercent,
                            string shipToTruckSize, string shipToTaxNumber, string shipToRouteCode, string shipToOpenTime,
                            string shipToCloseTime)
        {
            // code or no code
        }

这就是我实现上述功能的方式:

using (HttpResponseMessage response = m_RestHttpClient.Put("customer/update/customerCode=CUST190/customerName=Ralph Lauren/customerCountry=United Kingdom/customerTelephone=1234567489/customerEmail=ralph@lauren.com/customerCreditLimit=1/customerCommission=5/customerRank=45/contactFullname=Diego Sin/contactBusinessPhone=911/contactTimezone=6/contactActive=True/contactDepartment=Sales/contactHomePhoneExtension=456/shipToCountry=Uganda/shipToPaymentTerm=NET30/shipToCommissionPercent=1/shipToTruckSize=50/shipToTaxNumber=777/shipToRouteCode=001/shipToOpenTime=10 am/shipToCloseTime=11pm", frm.CreateHttpContent()))
            {
                response.EnsureStatusIsSuccessful();
            }

谢谢

4

1 回答 1

2

你没有 body 参数,PUT 需要一个 body。

除此之外,PUT 不等同于执行更新存储过程。不要尝试这样做,这没有任何意义。所有这些参数都需要进入体内。

URL 长度存在物理限制,因此您可能会遇到问题。

于 2010-08-19T11:26:01.683 回答