Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Шапка для Rest
- [HttpGet]
- [Route("Rieltor/{id}")]
- public тип название(id)
- [HttpPost]
- [Route("Rieltor")]
- public тип название([FromBody]Тип переменная)
- config.Formatters.Clear();
- config.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter());
- //клиент рест
- using RestSharp;
- var client = new RestClient("http://localhost:8553/rielt/2");
- var request = new RestRequest(Method.GET);
- request.AddHeader("GET", "application/json");
- request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
- var response = client.Execute<Rielt>(request);
- //WCF callback
- [ServiceContract(CallbackContract = typeof(IService1Callback), SessionMode = SessionMode.Required)]
- public interface IService1
- {
- [OperationContract(IsOneWay = true)]
- void CalcSal(string name);
- }
- public interface IService1Callback
- {
- [OperationContract(IsOneWay = true)]
- void CalcSalCallback(int sum);
- }
- public void CalcSal(string name) {
- foreach (salary s in salary_list)
- //
- var callback = OperationContext.Current.GetCallbackChannel<IService1Callback>();
- callback.CalcSalCallback(sum); }
- //Клиент
- public Form1() {
- InitializeComponent();
- ServiceCallback callback = new ServiceCallback();
- callback.FormEvent += Calc;
- InstanceContext context = new InstanceContext(callback);
- cl = new ServiceReference2.Service1Client(context); }
- public void Calc(int sum)
- { MessageBox.Show(Convert.ToString(sum));}
- public class ServiceCallback :ServiceReference2.IService1Callback {
- public delegate void FormDelegate(int sum);
- public event FormDelegate FormEvent;
- public void CalcSalCallback(int sum)
- { FormEvent?.Invoke(sum); } }
- //webconfig
- <services>
- <service name="TestCallBack.Service1" >
- <endpoint address="" binding="wsDualHttpBinding" contract="TestCallBack.IService1"></endpoint>
- <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"></endpoint>
- </service>
- </services>
Add Comment
Please, Sign In to add comment