Служба WCF, возвращающая Response.Write - PullRequest
1 голос
/ 16 января 2010

У меня есть служба WCF, которая будет вызываться из формы HTML, расположенной в сети клиента.

Когда одна и та же форма публикует те же данные на странице ASP, она ожидает ответ типа:

Response.Write "УСПЕХ" & vbnewline

Как я могу отправить тот же ответ от моей службы WCF?

Спасибо.

1 Ответ

5 голосов
/ 16 января 2010

Служба WCF может возвращать данные любого типа. Это охватывает основные примитивные типы, такие как int или string, но вы также можете создавать более сложные составные типы (классы) и отправлять их обратно.

ОДНАКО: WCF не предназначен для возврата разметки HTML - это был бы совершенно неправильный подход к вещам. WCF - это сервис - сервис предоставляет некоторые функциональные возможности, вы отправляете некоторые данные / параметры, вы возвращаете некоторые типы данных / выходных данных.

WCF не должен и не должен интересоваться фактическим представлением этих данных на стороне пользователя - это работа вашего пользовательского интерфейса - страницы ASP или чего-либо, с чем вы имеете дело.

Таким образом, вы могли бы иметь такую ​​службу WCF:

[ServiceContract]
interface IMyService
{
  [OperationContract]
  string SomeServiceMethod(string someInput);
}

и затем вызовите это из своего клиентского кода примерно так:

string result = MyService.SomeServiceMethod("Hello!");

но вы никогда не должны писать службу WCF, которая возвращает разметку HTML или любую другую системную информацию.

А поскольку WCF - это система, основанная на сообщениях, служба WCF абсолютно не имеет связи с вашей страницей ASP - она ​​не может участвовать в жизненном цикле ASP или получать доступ к объекту "Response" или чему-либо подобному.

...