traceonelast

Untitled

Apr 25th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.34 KB | None | 0 0
  1. //Шапка для Rest
  2. [HttpGet]
  3. [Route("Rieltor/{id}")]
  4. public тип название(id)
  5. [HttpPost]
  6. [Route("Rieltor")]
  7. public тип название([FromBody]Тип переменная)
  8.   config.Formatters.Clear();
  9.             config.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter());
  10. //клиент рест
  11. using RestSharp;
  12.   var client = new RestClient("http://localhost:8553/rielt/2");
  13.             var request = new RestRequest(Method.GET);
  14.             request.AddHeader("GET", "application/json");
  15.             request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
  16.             var response = client.Execute<Rielt>(request);
  17. //WCF callback
  18. [ServiceContract(CallbackContract = typeof(IService1Callback), SessionMode = SessionMode.Required)]
  19.     public interface IService1
  20.     {
  21.         [OperationContract(IsOneWay = true)]
  22.         void CalcSal(string name);
  23.     }
  24.     public interface IService1Callback
  25.     {
  26.         [OperationContract(IsOneWay = true)]
  27.         void CalcSalCallback(int sum);
  28.     }
  29. public void CalcSal(string name)        {
  30.             foreach (salary s in salary_list)
  31.            //
  32.             var callback = OperationContext.Current.GetCallbackChannel<IService1Callback>();
  33.             callback.CalcSalCallback(sum);        }
  34. //Клиент
  35.  public Form1()        {            
  36.             InitializeComponent();
  37.             ServiceCallback callback = new ServiceCallback();
  38.             callback.FormEvent += Calc;
  39.             InstanceContext context = new InstanceContext(callback);
  40.             cl = new ServiceReference2.Service1Client(context);        }
  41. public void Calc(int sum)
  42.         {  MessageBox.Show(Convert.ToString(sum));}
  43.         public class ServiceCallback :ServiceReference2.IService1Callback        {  
  44.             public delegate void FormDelegate(int sum);
  45.             public event FormDelegate FormEvent;
  46.             public void CalcSalCallback(int sum)
  47.             {                FormEvent?.Invoke(sum);            }        }
  48. //webconfig
  49.  <services>
  50.       <service name="TestCallBack.Service1" >
  51.         <endpoint address="" binding="wsDualHttpBinding" contract="TestCallBack.IService1"></endpoint>
  52.         <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
  53.       </service>
  54.     </services>
Add Comment
Please, Sign In to add comment