小编T.R*_*Rob的帖子

为什么IIS不支持分块传输编码?

我正在建立到IIS Web服务器的HTTP连接,并发送一个POST请求,其中包含使用Transfer-Encoding:chunked编码的数据.当我这样做时,IIS只是关闭连接,没有错误消息或状态代码.根据HTTP 1.1规范,

所有HTTP/1.1应用程序必须能够接收和解码"分块"传输编码

所以我不明白为什么它(a)不处理该编码和(b)它没有发回状态代码.如果我更改发送Content-Length而不是Transfer-Encoding的请求,则查询会成功,但这并不总是可行的.

当我对Apache尝试相同的事情时,我得到一个"需要411长度"的状态和一条消息"chunked Transfer-Encoding forbidden".

为什么这些服务器不支持此编码?

apache iis http chunked-encoding

7
推荐指数
2
解决办法
9157
查看次数

fopen'd文件的默认输入和输出缓冲?

因此,FILE流可以同时具有输入和输出缓冲区.您可以使用调整输出流setvbuf(我不知道任何使用输入缓冲区大小和行为的方法).

此外,默认情况下缓冲区是BUFSIZ(不确定这是POSIX还是C的东西).这对于stdin/ stdout/ 这意味着什么stderr,但新打开的文件的默认值是什么?它们是否针对输入和输出进行缓冲?或者也许只有一个?

如果它是缓冲的,输出默认为阻塞或行模式吗?

编辑:我已经做了一些测试,看看Jonathan Leffler的回答如何影响现实世界的节目.看来如果你做了一个读,那么写.写入将导致输入缓冲区的未使用部分完全丢弃.事实上,将会有一些寻求将事物保持在正确的文件偏移量.我用这个简单的测试程序:

/* input file contains "ABCDEFGHIJKLMNOPQRSTUVWXYZ" */
#include <stdio.h>
#include <stdlib.h>

int main() {

    FILE *f = fopen("test.txt", "r+b");
    char ch;
    fread(&ch, 1, 1, f);
    fwrite("test", 4, 1, f);
    fclose(f);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

导致以下系统调用:

read(3, "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n", 4096) = 27 // attempt to read 4096 chars, got 27
lseek(3, -26, SEEK_CUR)                 = 1        // at this point, I've done my write already, so forget the …
Run Code Online (Sandbox Code Playgroud)

c buffer file stream

7
推荐指数
1
解决办法
6622
查看次数

WebSphere MQ .NET API

所有,

是否可以下载WebSphere MQ .NET API?我基本上是在尝试编写一个用于侦听MQ队列中的消息的C#应用​​程序.

谢谢,

马里奥斯

.net c# ibm-mq

7
推荐指数
3
解决办法
2万
查看次数

在JAXP中使用XPath检索XML节点和节点属性的值

给定一个如下所示的xml文档:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
    <entry key="agentType">STANDARD</entry>
    <entry key="DestinationTransferStates"></entry>
    <entry key="AgentStatusPublishRate">300</entry>
    <entry key="agentVersion">f000-703-GM2-20101109-1550</entry>
    <entry key="CommandTimeUTC">2010-12-24T02:25:43Z</entry>
    <entry key="PublishTimeUTC">2010-12-24T02:26:09Z</entry>
    <entry key="queueManager">AGENTQMGR</entry>
</properties>
Run Code Online (Sandbox Code Playgroud)

我想打印"key"属性和元素的值,所以它看起来像这样:

agentType = STANDARD
DestinationTransferStates = 
AgentStatusPublishRate = 300
agentVersion = f000-703-GM2-20101109-1550
CommandTimeUTC = 2010-12-24T02:25:43Z
PublishTimeUTC = 2010-12-24T02:26:09Z
queueManager = AGENTQMGR
Run Code Online (Sandbox Code Playgroud)

我可以使用此代码打印节点值没有问题:

XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("//properties/entry/text()");

Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
    System.out.println(nodes.item(i).getNodeValue()); 
} …
Run Code Online (Sandbox Code Playgroud)

java xml xpath jaxp

7
推荐指数
1
解决办法
3万
查看次数

如何获取应用程序生成的所有Open Graph Beta操作

我多次看过这个问题,但找不到任何答案(抱歉重复一遍):

已经可以获取自定义应用操作和对象的所有操作:

https://graph.facebook.com/me/{appNameSpace}:{action}/{object}
Run Code Online (Sandbox Code Playgroud)

这将列出应用程序生成的所有操作,但仅限于给定用户...

如何获取应用程序生成的所有操作(适用于所有用户)?我已经使用app访问令牌尝试了此请求:

https://graph.facebook.com/{appId}/{appNameSpace}:{action}/{object}
Run Code Online (Sandbox Code Playgroud)

但它不起作用......

我也在寻找一个活动或动作FQL表,因为每个动作都有一个id,它们应该可以在某个地方访问.

有什么建议?

api facebook-opengraph

7
推荐指数
1
解决办法
734
查看次数

创建一个自动填充目标页面上的字段的链接

我正在编写一份时事通讯,那个让我这么做的人想要一个链接......一切都完美无问题......

现在问题是,当你点击这个链接时,它会进入一个带有字段的页面,然后那个人问我是否可以自动填充其中一个字段.

该页面是某些服务的订阅页面,当您使用他的电子邮件登陆页面时,这个人希望我自动填写推荐字段.可能吗?

谢谢堆

html hyperlink newsletter

7
推荐指数
1
解决办法
2万
查看次数

将两个列表<T>一起排序为一个?

我有两个List,我通过索引访问(例如Name[10],Date[10]).它们紧密相连,因此Name[10]相关,Date[10]反之亦然.

这种设计运作良好,但现在我需要对它们进行排序.我可以单独对它们进行排序,但显然会消除两个列表之间的关系并使它们变得毫无价值.

我想过使用一个Dictionary<string, DateTime>替代,但似乎我只能通过Key访问它(这也是不可行的).基本上我需要三个东西,两个值和一个索引,我可以在数字上迭代(不是foreach).

有人可以帮忙吗?看来我要么需要改变数据结构,要么弄清楚如何将两个不同的数据排序List<T>在一起......

public class Results
{ 
public List<string> Name { get; set; }
public List<DateTime> Date{ get; set; }
}

for (int x = 0; x < results; x++)
{ z.N = results.Name[X]; z.D = results.Date[x]; } 
Run Code Online (Sandbox Code Playgroud)

c# asp.net

7
推荐指数
2
解决办法
6734
查看次数

WebSphere MQ对象命名约定

有关队列管理器,队列(本地,远程,传输,死信队列......),渠道等的WebSphere MQ命名约定的建议指南是什么?我在IBM的developerWorks上找到了一个,但是想看看是否还有其他全面的内容.那里.谢谢.

ibm-mq

7
推荐指数
1
解决办法
6037
查看次数

JMSMessageID应该在发布和订阅之间进行更改吗?

JMS 2.0规范说

所述JMSMessageID报头字段包含唯一标识由提供商发送的每个消息的值.

...和...

唯一性的确切范围是提供者定义的.它应该至少涵盖特定安装提供程序的所有消息,其中安装是一组连接的消息路由器.

规范没有明确声明JMSMessageID从发布API调用返回的内容必须与消息中消息中存在的内容匹配.关于在回复请求时移动JMSMessageID到规范的规范中的讨论JMSCorrelationID意味着两者将是相同的.如果在发布和使用之间更改了消息ID,则此样式的请求/回复将失败.

当然,在JMS 1.1和现在2.0的统一域模型中,JMSMessageID根据目标是队列还是主题,改变行为是没有意义的.在统一的模式下,人们会期望所有目的地在这方面都采取相同的行动.

此外,如果第一段中使用的"提供者"指的是发送消息的内容,那么散布到具有相同JMSMessageID值的10条相同消息的发布将符合规范,因为在发送方测量唯一性.

不幸的是,规范在使用术语"提供者"来描述发送消息的事物与使用它来描述JMS传输的供应商之间切换.这在上面两个引用的段落中很明显.这种模棱两可并不重要.

至少有一个实现(IBM的MQ)采用的方法是,一个发布到10条消息的发布已经创建了10条唯一的新消息,因此每个消息都具有唯一JMSMessageID值.这可以说与第二个引用的段落一致,该段落需要作用于提供者的唯一性,其中"提供者"似乎是指供应商实现而不是发送消息的事物.

我相信,当发布的消息向多个订阅者扇出时,正确的行为将是JMSMessageID在消息的每个实例中保留,以便可以按预期关联回复.换句话说,我认为IBM的实施是不合规的.由于规范在这个问题上是模棱两可的,我正在寻找一个权威的来源,要么直接或强烈地暗示规范所预期的行为,不管是哪种方式.根据响应,我要么退出,要么将IBM的问题作为合规性缺陷提出.

jms ibm-mq

7
推荐指数
1
解决办法
1123
查看次数

没有web2py的DAL

我正在使用web2py为我的网站供电.我决定将web2py DAL用于在网站后面运行的长期运行程序.该程序似乎没有更新其数据或数据库(有时).

from gluon.sql import *
from gluon.sql import SQLDB

from locdb import * 
# contains
# db = SQLDB("mysql://user/pw@localhost/mydb", pool_size=10)
# db.define_table('orders', Field('status', 'integer'), Field('item', 'string'),
#    migrate='orders.table')
orderid = 20 # there is row with id == 20 in table orders
#when I do 
db(db.orders.id==orderid).update(status=6703)
db.commit()
Run Code Online (Sandbox Code Playgroud)

它不会更新数据库,并且具有此ID的订单上的选择会显示正确的数据.在某些情况下,提交后的"db.rollback()"似乎有所帮助.

至少可以说很奇怪.你见过这个吗?更重要的是你知道解决方案吗?


更新:
更正:有问题的选择是在程序内完成的,而不是在程序之外.

有时,在进行一系列更新时,有些会在外面工作并且可用,而有些则无法使用.此外,一些查询将返回它最初返回的数据,即使数据在自原始查询后数据库中发生了更改.

我很想抛弃这种方法并转向另一种方法,任何建议?

data-access-layer web2py

6
推荐指数
1
解决办法
1207
查看次数