2010-11-18 65 views
0

我要道歉的問題沒有完全解決我的問題。這是一個處理將UDT對象傳遞給c#web服務的C#問題。客戶端是一個Windows Mobile表單應用程序。是否有限制變量/屬性名稱的字符數?

我目前有一個我個人定義的UDT,現在已經添加了一個新成員(名爲schedulerRecordCount的變量,該屬性名爲SchedulerRecordCount)。在添加這個新成員之前,我能夠將這個對象的一個​​實例傳遞給一個Web服務方法而沒有問題。添加新成員後,我無法從我的web方法獲得響應。在調用webmethod並傳遞對象後,我會得到一個異常,說「無法從傳輸連接讀取」。

我嘗試了很多事情來解決問題,並且在最後的努力中,我將變量名稱縮寫爲schedRecCnt,並將屬性縮寫爲SchedRecCnt。這個伎倆。請注意,此UDT的所有其他成員都是String類型的(以及我的新成員)。

有沒有人知道在將UDT傳遞給Web方法時,變量可以具有的字符數限制?

+0

我敢肯定這是變量/屬性名稱相似:http://stackoverflow.com/questions/425988/maximum-method-name-length – SwDevMan81 2010-11-18 21:45:14

+0

答案中最多命名爲511個字符。 schedulerRecordCount.Length的值是20 ...如果你不介意你可以更具體一些,我不會關注你的評論。 – AndHeCodedIt 2010-11-18 21:51:06

+1

我只是說變量/屬性名稱的長度應該非常大(SchedulerRecordCount肯定是可以接受的)。必須有一些其他問題正在進行。 – SwDevMan81 2010-11-18 21:53:35

回答

3

標識符的長度當然有一些限制,但是你肯定不會接近它。我不知道確切的限制,但可能有1000個左右的字符。

但是,您可能已達到返回消息總大小的限制。這將符合如何縮短屬性名稱使其起作用,因爲這也會縮短郵件的總長度。

在客戶端上web.config的SOAP綁定設置中,檢查MaxReceivedMessageSize屬性的值,並根據需要增加它。

+0

當我在MSDN中搜索此屬性時,此屬性僅適用於.NET框架3.0至4.0而不是2.0。我的web服務和客戶端都構建在2.0框架上。任何其他想法? – AndHeCodedIt 2010-11-19 12:44:22

2

有(留下其他字符黑色)通過C#規格,但Visual Studio IDE中會上色在C#中只有

511個字符,並在VB.Net 1023個字符強加任何限制。