Rumah > Artikel > pembangunan bahagian belakang > Cara mengendalikan panggilan jauh dan panggilan prosedur jauh dalam pembangunan C#
Cara mengendalikan panggilan jauh dan panggilan prosedur jauh dalam pembangunan C# memerlukan contoh kod khusus
Pengenalan:
Dengan perkembangan pesat pengkomputeran awan dan sistem pengedaran, panggilan jauh dan panggilan prosedur jauh (pendek kata RPC) ) semakin menjadi. semakin penting dalam pembangunan perisian. Sebagai bahasa pengaturcaraan yang berkuasa, C# juga menyediakan beberapa alatan dan rangka kerja yang berkuasa untuk mengendalikan panggilan jauh dan RPC. Artikel ini akan memberikan beberapa contoh kod praktikal tentang cara mengendalikan panggilan jauh dan RPC.
1. Konsep asas panggilan jauh
Panggilan jauh merujuk kepada panggilan bersama antara dua atau lebih aplikasi yang dijalankan pada komputer yang berbeza. Dalam C#, anda boleh menggunakan panggilan jauh untuk mencapai komunikasi antara aplikasi pada komputer yang berbeza. C# menyediakan beberapa kelas dan kaedah untuk mengendalikan panggilan jauh, yang paling biasa digunakan ialah .Net Remoting dan WCF (Windows Communication Foundation).
2. Gunakan .Net Remoting untuk melaksanakan panggilan jauh
using System; namespace RemoteCallExample { public interface IRemoteService { string SayHello(string name); } }
using System; namespace RemoteCallExample { public class RemoteService : MarshalByRefObject, IRemoteService { public string SayHello(string name) { return $"Hello, {name}!"; } } }
using System; using System.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp; namespace RemoteCallExample { class Program { static void Main(string[] args) { TcpChannel channel = new TcpChannel(8080); ChannelServices.RegisterChannel(channel, false); RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteService), "RemoteService", WellKnownObjectMode.Singleton); Console.WriteLine("Remote service is running."); Console.ReadKey(); } } }
using System; namespace RemoteCallExample { class Program { static void Main(string[] args) { IRemoteService remoteService = (IRemoteService)Activator.GetObject(typeof(IRemoteService), "tcp://localhost:8080/RemoteService"); string result = remoteService.SayHello("John"); Console.WriteLine(result); Console.ReadKey(); } } }
3. Gunakan WCF untuk melaksanakan panggilan prosedur jauh
Selain menggunakan .Net Remoting, kami juga boleh menggunakan WCF untuk melaksanakan panggilan prosedur jauh.
using System.ServiceModel; namespace RemoteCallExample { [ServiceContract] public interface IRemoteService { [OperationContract] string SayHello(string name); } }
namespace RemoteCallExample { public class RemoteService : IRemoteService { public string SayHello(string name) { return $"Hello, {name}!"; } } }
<system.serviceModel> <services> <service name="RemoteCallExample.RemoteService"> <endpoint address="" binding="basicHttpBinding" contract="RemoteCallExample.IRemoteService" /> <host> <baseAddresses> <add baseAddress="http://localhost:8080/RemoteService" /> </baseAddresses> </host> </service> </services> </system.serviceModel>
using System; using System.ServiceModel; namespace RemoteCallExample { class Program { static void Main(string[] args) { ChannelFactory<IRemoteService> channelFactory = new ChannelFactory<IRemoteService>(new BasicHttpBinding(), new EndpointAddress("http://localhost:8080/RemoteService")); IRemoteService remoteService = channelFactory.CreateChannel(); string result = remoteService.SayHello("John"); Console.WriteLine(result); Console.ReadKey(); } } }
Kesimpulan:
Artikel ini membentangkan beberapa contoh kod praktikal tentang cara mengendalikan panggilan jauh dan panggilan prosedur jauh dalam pembangunan C#. Melalui .Net Remoting dan WCF, kami boleh mencapai komunikasi jauh antara aplikasi C# dengan mudah. Semoga contoh-contoh ini dapat membantu anda.
Atas ialah kandungan terperinci Cara mengendalikan panggilan jauh dan panggilan prosedur jauh dalam pembangunan C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!