Когда возвращенный MemoryStream выпущен в WCF? - PullRequest
3 голосов
/ 12 января 2010

В следующем сценарии я хочу вернуть только строку, потому что это то, что сказано в спецификации, но для этого мне нужно вернуть поток, и я просто хочу убедиться, что я не буду хранить слишком много потоков слишком долго , Метод выглядит так:

[WebGet(BodyStyle = WebMessageBodyStyle.Bare,
    RequestFormat = WebMessageFormat.Xml,
    ResponseFormat = WebMessageFormat.Xml,
    UriTemplate = "someuri/{parameter}")]
[OperationContract]
public Stream FooBar(string parameter)
{
    byte[] bytes = Encoding.UTF8.GetBytes("some string");
    return new MemoryStream(bytes);
}

Кто-нибудь знает, когда этот ресурс выйдет?

Ответы [ 2 ]

4 голосов
/ 12 января 2010

Я провел небольшое исследование и нашел несколько интересных статей на эту тему:

Надеюсь, что это может быть полезно!

1 голос
/ 12 января 2010

Я бы подумал, что GC, как и для обычного объекта: когда все ссылки на него исчезли.

И это неплохо, MemoryStream действительно реализует IDisposable, но на самом деле он не нужен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...