public PublishClientWrapper(IPublishCallback callbackInstance, string endpointConfigurationName) { this._publishCallback = callbackInstance; this._callbackInstance = new InstanceContext(_publishCallback); this._client = CreateClient(_callbackInstance, endpointConfigurationName); this._serviceEndpoint = _client.Endpoint; }
/// <summary> /// 订阅 /// </summary> /// <returns></returns> public Guid Subscribe() { IPublishCallback callback = OperationContext.Current.GetCallbackChannel <IPublishCallback>(); if (callback != null) { Guid clientId = Guid.NewGuid(); bool isSuccess = clients.TryAdd(clientId, callback); if (isSuccess) { return(clientId); } } return(Guid.Empty); }