我已经创建了一个托管在WPF应用程序中的WCF服务。一切正常。我的客户可以毫无问题地访问WCF服务。
现在,当客户端调用我的服务中的方法时,例如:SetData(MyDataObject数据),我希望该方法将“data”对象发送回WPF主机进行处理。
我如何连接???
我的服务托管在WPF App:
host = new ServiceHost(typeof(WCFTestService.Service1), new Uri("http://localhost:8733/WCFTestService/"));
// Service host is opened on the UI thread
host.AddServiceEndpoint(typeof(WCFTestService.IService1), new BasicHttpBinding(), "");
// Enable metadata exchange
ServiceMetadataBehavior smb = new ServiceMetadataBehavior() { HttpGetEnabled = true };
host.Description.Behaviors.Add(smb);
// Enable exeption details
ServiceDebugBehavior sdb = host.Description.Behaviors.Find<ServiceDebugBehavior>();
sdb.IncludeExceptionDetailInFaults = true;
host.Open();
我的WCF服务方法:
public bool SetData(MyDataObject data)
{
//HOW DO I get MyDataObject to the WPF Host???
// something like: host.UpdateData(data) <-- callback method???
return true;
}
答案 0 :(得分:0)
我对这个问题不屑一顾,但是有一个特殊的原因,表示层和服务层是如此紧密耦合的?我认为你可以将MyDataObject的内容添加到你创建的数据传输对象中,或者保持MyDataObject(可能是暂时的),然后让WPF应用程序/主机通过同一个wcf服务公开的方法调用来访问它。我可能会用你提供的数据这样做。