WCF пишет прямо в канал ответа - PullRequest
0 голосов
/ 20 января 2010

есть ли способ записи (например, строки) непосредственно в выходной поток при реализации обычного интерфейса WCF, например:

[ServiceContract]
public interface ISearchInterface
{
    [OperationContract]
    [FaultContract(typeof(Exception))]
    SearchResponse SearchXML(SearchRequest req);
}

Я хочу сэкономить время де / сериализации и напрямую отправить сериализованную строку (хотя это ДОЛЖЕН быть тот же самый метод, потому что, когда у меня нет сериализованной строки кэша, я хочу нормально "построить" сериализованный объект с помощью некоторые операторы SQL ...)

Есть идеи? Что-то вроде

Channel.Write(s);

??

1 Ответ

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

Одним словом: НЕТ.

WCF - это основанная на сообщениях система связи - существует прямая связь NO между сервером и вашим клиентом в любое время. Все, что идет между клиентом и сервером, это сериализованные сообщения - вы можете только обмениваться статическими данными - в WCF нет возможности "удаленного взаимодействия с объектами" или чего-либо подобного. Черт возьми - сообщения между клиентом и сервером могут быть отправлены голубями, насколько я знаю. И нет, нет способа отправить что-то обратно «прямо через канал» в обход сериализации - ответ от сервера должен быть сериализован в сообщение, и это сообщение отправляется обратно как ответ клиенту.

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