变量/属性名称的字符数是否有限制?

时间:2010-11-18 21:41:21

标签: c# web-services .net-2.0

我不得不道歉这个问题没有完全解决我的问题。这是一个C#问题,涉及将UDT对象传递给c#webservice。客户端是一个Windows移动表单应用程序。

我目前有一个我个人定义的UDT,现在已经添加了一个新成员(名为schedulerRecordCount的变量,该属性名为SchedulerRecordCount)。在添加此新成员之前,我能够将此对象的实例传递给Web服务方法而不会出现问题。添加新成员后,我无法从我的Web方法获得响应。在调用webmethod并传递对象后,我会得到一个异常,说“无法从传输连接中读取”。

我尝试了很多东西来解决问题,并且在最后的努力中,我将变量名称缩写为schedRecCnt,将属性缩短为SchedRecCnt。这样做了。注意,此UDT的所有其他成员都是String类型(以及我的新成员)。

有人知道变量在将UDT内部传递给Web方法时可以拥有的字符数限制吗?

2 个答案:

答案 0 :(得分:3)

标识符的长度当然有一些限制,但你肯定不会接近它。我不知道确切的限制,但可能只有1000个字符左右。

但是,您可能已达到返回的邮件总大小的限制。这将适合缩短属性名称使其工作,因为这也会缩短消息的总长度。

在客户端web.config中的SOAP绑定设置中,检查MaxReceivedMessageSize属性的值,并在需要时增加它。

答案 1 :(得分:2)

C#规范没有限制,但Visual Studio IDE只会着色

C#中包含511个字符,VB.Net中包含1023个字符(其他字符为黑色)。