Http-операция WCF возвращает код состояния 200, несмотря на ошибку - PullRequest
0 голосов
/ 04 декабря 2018

У меня проблема с моей службой WCF.Кажется, я не могу вернуться с ошибкой (например, сгенерировав исключение WebFaultException) после открытия потока запросов.

[OperationContract]
[WebInvoke(UriTemplate = "/callA?a={a}&b={b}&c={c}")]
Stream CallA(string a, string b, string c, Stream data);

Внутри операции I:

throw new WebFaultException<string>("test test", HttpStatusCode.InternalServerError);

Если я сделаю это раньшеоткрывая StreamReader (данные) на сервере, он отправляет исключение клиенту, если я делаю это после того, как это не так.Что я делаю неправильно?Я хочу иметь возможность отправлять информацию о неверных данных после выполнения запроса.

Сторона клиента:

var req = WebRequest.Create(url);
req.ContentType = "text/xml;charset=\"utf-8\"";
req.Method = "POST";
req.Credentials = credentials;

Stream strWrite = req.GetRequestStream();
var sw = new StreamWriter(strWrite);
sw.Write(messageBody.ToString());
sw.Close();

WebResponse wr = req.GetResponse();
HttpWebResponse httpRes = (HttpWebResponse)wr;
Stream responseStream = httpRes.GetResponseStream();
return responseStream;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...