C# WCF REST:webInvoke方法中可以传递的最大字符串数?

C# WCF REST:webInvoke方法中可以传递的最大字符串数?,c#,rest,wcf-rest,C#,Rest,Wcf Rest,下面是代码 我试过这个电话,但没用。。。即使这个调用中的函数是空的,我也尝试了这个只有5个输入参数的精确函数调用,它成功了吗? 这里有些可疑之处,希望有人能提出建议,如果你有任何建议,我可以最小化这段代码,这意味着参数会传递给我,我随时都可以提供建议 代码如下: [WebInvoke(UriTemplate = "customer/update/customerCode={customerCode}/customerName={customerName}/customerCountry={cu

下面是代码

我试过这个电话,但没用。。。即使这个调用中的函数是空的,我也尝试了这个只有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();
            }

谢谢你没有body参数,PUT需要body

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


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

好的,请告诉我如何实现此功能,特别是Body参数。你能给我举一个简单的例子,比如说4个字段。。。需要在哪里使用HttpContent?最后,URL/URI链接长度的物理限制是什么?或者它可以被扩展。。因为我在web/Microsoft中找不到合适的解决方案。。非常感谢你的投入。ThanksI发现260个字符是URI字符串的最大限制。。。那么,对于如何用复杂类型实现这一点,您有什么建议吗?