专门为输出增加 maxBufferSize
Increasing maxBufferSize specifically for output
现在我正在尝试创建一个 WCF 服务来解析一组 json 文件。一个函数实际执行解析,另一个函数收集 json 字符串数组。该数组超过了最大缓冲区大小,但是当我将它插入后者时(在创建数组的函数中)没有错误 - 只有当我尝试 return 数组本身时。这就是我的意思:
Web2String.ServiceClient webServ = new Web2String.ServiceClient();
string[] ip = new string[12];
//MAKE SURE TO REPLACE THE KEY
for (int i = 1; i < 13; i++)
{
if (mo == i || mo > 12 || mo < 1)
{
ip[i - 1] = webServ.GetWebContent("https://www.some.url");
}
}
return ip;
不起作用,但是
Web2String.ServiceClient webServ = new Web2String.ServiceClient();
string[] ip = new string[12];
//MAKE SURE TO REPLACE THE KEY
for (int i = 1; i < 13; i++)
{
if (mo == i || mo > 12 || mo < 1)
{
ip[i - 1] = webServ.GetWebContent("https://www.some.url");
}
}
return otherFunction(ip);
会。
这是我尝试添加的绑定(什么也没做)。
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService" maxBufferPoolSize="6000000"
maxBufferSize="5000000" maxReceivedMessageSize="5000000" >
</binding>
</basicHttpBinding>
</bindings>
我该如何处理?
报错信息大体如下:
编辑:为了清楚起见,我还应该提到 otherFunction return 是一个数组,远低于缓冲区大小。
您似乎从服务端收到了错误消息。根据您的错误消息和配置,您已经设置了 maxReceivedMessageSize 和其他设置的限制值。如果您尚未将该绑定分配给您的服务终结点,在这种情况下,WCF 将使用 maxReceivedMessageSize 的默认值,即 65536。
您需要通过端点元素的 bindingConfiguration 属性将定义的绑定 (wsBinding) 分配给您的端点,如下所示:
<endpoint address=""
binding="wsHttpBinding"
bindingCongifuration="wsBinding"
contract="PMSService.ThomoloshaDeclaration">
现在我正在尝试创建一个 WCF 服务来解析一组 json 文件。一个函数实际执行解析,另一个函数收集 json 字符串数组。该数组超过了最大缓冲区大小,但是当我将它插入后者时(在创建数组的函数中)没有错误 - 只有当我尝试 return 数组本身时。这就是我的意思:
Web2String.ServiceClient webServ = new Web2String.ServiceClient();
string[] ip = new string[12];
//MAKE SURE TO REPLACE THE KEY
for (int i = 1; i < 13; i++)
{
if (mo == i || mo > 12 || mo < 1)
{
ip[i - 1] = webServ.GetWebContent("https://www.some.url");
}
}
return ip;
不起作用,但是
Web2String.ServiceClient webServ = new Web2String.ServiceClient();
string[] ip = new string[12];
//MAKE SURE TO REPLACE THE KEY
for (int i = 1; i < 13; i++)
{
if (mo == i || mo > 12 || mo < 1)
{
ip[i - 1] = webServ.GetWebContent("https://www.some.url");
}
}
return otherFunction(ip);
会。
这是我尝试添加的绑定(什么也没做)。
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService" maxBufferPoolSize="6000000"
maxBufferSize="5000000" maxReceivedMessageSize="5000000" >
</binding>
</basicHttpBinding>
</bindings>
我该如何处理?
报错信息大体如下:
编辑:为了清楚起见,我还应该提到 otherFunction return 是一个数组,远低于缓冲区大小。
您似乎从服务端收到了错误消息。根据您的错误消息和配置,您已经设置了 maxReceivedMessageSize 和其他设置的限制值。如果您尚未将该绑定分配给您的服务终结点,在这种情况下,WCF 将使用 maxReceivedMessageSize 的默认值,即 65536。
您需要通过端点元素的 bindingConfiguration 属性将定义的绑定 (wsBinding) 分配给您的端点,如下所示:
<endpoint address=""
binding="wsHttpBinding"
bindingCongifuration="wsBinding"
contract="PMSService.ThomoloshaDeclaration">