带有Stream返回的WCF RESTful Post

时间:2012-10-13 15:47:13

标签: c# wcf rest https

我使用https进行WCF Web服务。它有下一个界面:

[ServiceContract]
class Service
{
    [OperationContract]
    [WebInvoke(UriTemplate="Method", BodyStyle=WebMessageBodyStyle.Bare)]
    byte[] Method(Stream request)
    {
        // ... Some logic ...
        return someBytes;
    }
}

这很好但有一个小问题。方法完成后,它会关闭https连接。我有另一种使用WebGet的方法。它返回Stream对象,而这个对象不会关闭https连接。 我试图在我的第一个方法中使用相同的方法,并按如下方式重写:

[ServiceContract]
class Service
{
    [OperationContract]
    [WebInvoke(UriTemplate="Method", BodyStyle=WebMessageBodyStyle.Bare)]
    Stream Method(Stream request)
    {
        // ... Some logic ...
        return new MemoryStream(someBytes);
    }
}

但是当我尝试使用客户端使用Method时,服务会响应:“方法不允许。允许:GET,HEAD”。 请告诉我,如果我通过返回Stream对象做错了,或者我错过了什么。

UPD: 我也很欣赏有关追查此问题的任何提示。

0 个答案:

没有答案