2013-03-04 96 views
3

我有一个包含If-None-Match标头的请求,然后将其与服务上的计算响应进行比较。如果它们匹配并且自从上次我返回一个空的304响应以来没有修改响应。Azure服务总线继电器中的304响应

所有这一切正常工作,因为我的内容很少改变,但我喜欢经常检查更改。

然而,这似乎成为通过服务总线中继暴露服务资源时的问题。当从服务发送304时,I 在中继端点处未收到响应。

这是一个已知的问题?你看到它有没有办法解决它?

回答

5

这似乎是ServiceBus Relay中的一个错误。当您的侦听程序返回304(或204)时,请确保HttpResponseMessageProperty..StatusDescription在通过SERVICEBUS发回响应之前为空,并且应该解决此问题。

+0

太好了。我可以确认这个解决方案实际上可行! 我无法使[CheckConditionalRetrieve](http://msdn.microsoft.com/en-us/library/system.servicemodel.web.incomingwebrequestcontext.checkconditionalretrieve.aspx)方法正常工作,但必须实施etag存储和比较自己能够在出门之前修改响应。 – Riri 2013-03-06 17:24:00

+0

@ dave-stucki-ms我想这是专门针对Service Bus的API 1.8的?你能否澄清一点,你回答以备将来参考? – Riri 2013-03-07 10:29:25