我正在使用C#开发一个桌面应用程序,它通过WCF Web服务与服务器通信。这是一种同步应用程序,也就是说,当我在客户端应用程序上进行一些更改时,我应该立即更新服务器(可以使用服务调用轻松实现),但是此机制还应提供反向同步,即服务器上的更改必须立即应用于多个客户端。我知道我可以对服务器进行轮询,但这看起来对我不太整洁,而且我听说过双向服务,但我不确定是否可以使用它来实现此机制。
我希望对此问题提出一些建议。谢谢事先。
我正在使用C#开发一个桌面应用程序,它通过WCF Web服务与服务器通信。这是一种同步应用程序,也就是说,当我在客户端应用程序上进行一些更改时,我应该立即更新服务器(可以使用服务调用轻松实现),但是此机制还应提供反向同步,即服务器上的更改必须立即应用于多个客户端。我知道我可以对服务器进行轮询,但这看起来对我不太整洁,而且我听说过双向服务,但我不确定是否可以使用它来实现此机制。
我希望对此问题提出一些建议。谢谢事先。
tolga,你可以使用SignalR和WinForms结合使用,服务端可以是ASP.NET或一个独立的Windows应用程序。
var webAddr = "https://fcm.googleapis.com/fcm/send";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Headers.Add("Authorization:key=YOUR_SERVER_KEY");
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"to\": \"/topics/news\",\"notification\": {\"body\": \"New news added in application!\",\"title\":\"" + Your_Notif_Title+ "\",}}";
streamWriter.Write(json);
streamWriter.Flush();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
result = streamReader.ReadToEnd();
}