예제 #1
0
    public void DoSomething()
    {
        Trace.WriteLine("DoSomething");
        IMyContractCallback callback = OperationContext.Current.GetCallbackChannel <IMyContractCallback>();

        callback.OnCallback();
    }
        public bool RegisterClient(string deviceID, bool service)
        {
            bool success = false;
            //Generate unique clientID based on device + whether client is service or applet
            string clientID = deviceID;

            clientID += service ? "-Service" : "-Applet";

            if (clientID != null && clientID != "")
            {
                try
                {
                    IMyContractCallback callback = OperationContext.Current.GetCallbackChannel <IMyContractCallback>();
                    lock (locker)
                    {
                        //remove old client
                        if (clients.Keys.Contains(clientID))
                        {
                            clients.Remove(clientID);
                        }
                        clients.Add(clientID, callback);
                        success = true;
                    }
                }
                catch
                {
                }
            }
            return(success);
        }
예제 #3
0
        public void ReloadJob()
        {
            Console.WriteLine("Reload Job");
            IMyContractCallback callbackInstance
                = OperationContext.Current.GetCallbackChannel <IMyContractCallback>();

            callbackInstance.OnCallback();
        }