이것은 SOAP 봉투를받는 서비스 참조가있는 Visual Studio 2010 C# 응용 프로그램입니다. 응용 프로그램은 잘 작동하며 서비스에서 데이터를 가져 와서 db에 쓰는 자동화 된 프로세스에서 몇 개월 동안 야간에 실행되었습니다. 야간에 실행되고 자동화되기 때문에 UI가 매우 슬림합니다.IClientMessageInspector에 속성 추가
디버깅 목적으로 응답을 볼 수 있도록 양식에 텍스트 상자를 추가하고 싶습니다. 때로는 통나무에서 의미가없는 것들을 얻습니다. MessageInspector 클래스에는 콘솔 창에 응답을 출력하는 AfterReceiveReply가 있습니다. 개발 중에는 문제가 없지만 UI에 출력 할 수도 있습니다. 공용 속성을 만들었지 만 응답을 제대로 채울 수없는 것 같습니다.
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 응답 : {0} ", reply.ToString());" 콘솔 창으로 봉투를 가져옵니다. "ThisResponse = reply.ToString();" 속성에 대한 개인 멤버를 채 웁니다. – user1091524