2010-08-19 29 views
1

這裏是下面的代碼WCF REST:可以在webInvoke方法中傳遞的最大字符串數量?

我試過這個調用,但它沒有工作......即使這個調用內的函數是空的我試着這個確切的函數調用只有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/[email protected]/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(); 
      } 

感謝

回答

2

你沒有身體參數,PUT需要一個身體。

除此之外,PUT不等同於執行更新存儲過程。不要試圖做到這一點,這沒有任何意義。所有這些參數都需要放在主體中。

URL長度有物理限制,因此您可能會遇到問題。

+0

好的,請你告訴我如何實現這個特別是身體參數。你能告訴我一個簡單的例子,讓我們說4個字段... HttpContent需要在哪裏使用? 最後是什麼是URL/URI鏈接長度的物理限制?或者它可以擴展..因爲我無法找到任何適當的解決方案在網絡/微軟.. 非常感謝您的輸入。 謝謝 – Ravi 2010-08-20 01:29:31

+1

我發現260個字符是一個URI字符串的最大限制......所以,你有什麼建議,我怎麼能實現這與複雜的類型? – Ravi 2010-09-01 06:20:00

相關問題