Это приложение Visual Studio 2010 C# с ссылкой на службу, получающей конверты SOAP. Приложение работает нормально и работает в течение нескольких месяцев в автоматическом процессе, чтобы извлекать данные из службы и записывать их в db. Поскольку он работает ночью и автоматизирован, пользовательский интерфейс очень тонкий.Добавить свойство в IClientMessageInspector
Я хочу добавить текстовое поле в форму, чтобы я мог видеть ответ по случаю для целей отладки. Иногда я получаю вещи в журнале, которые не имеют смысла. Класс MessageInspector имеет параметр AfterReceiveReply, который выводит ответ на окно консоли, что хорошо в процессе разработки, но я хочу, чтобы он также выводился в пользовательский интерфейс. Я создал публичную собственность, но я не могу получить ответ на правильное заполнение.
public class MyMessageInspector : IClientMessageInspector
{
private string ThisResponse;
public string GlobalResponse
{
get
{
return ThisResponse;
}
set
{
ThisResponse = value;
}
}
public void AfterReceiveReply(ref System.ServiceModel.Channels.Message reply, object correlationState)
{
Console.WriteLine("SOAP Response: {0}", reply.ToString());
ThisResponse = reply.ToString();
}
В форме, которую я называю то, что ниже, а значение GlobalResponse равно null.
MyMessageInspector Output = new MyMessageInspector();
txtResponse.Text = Output.GlobalResponse;
нужно больше кода из части ASP.NET, чтобы получить представление о том, как вы получаете данные из приложения консоли на веб-приложения. –
Приложение Windows не ASP.net. Строка «Console.WriteLine (« SOAP Response: {0} », reply.ToString()); получает конверт в окно консоли. "ThisResponse = reply.ToString();" заполняет частный элемент для свойства. – user1091524