C#学习教程:如何在运行时设置端点分享


如何在运行时设置端点

我有基于本教程的应用程序

我用来测试与服务器的连接的方法(在客户端应用程序中):

public class PBMBService : IService { private void btnPing_Click(object sender, EventArgs e) { ServiceClient service = new ServiceClient(); tbInfo.Text = service.Ping().Replace("n", "rn"); service.Close(); } //other methods } 

服务主要function:

 class Program { static void Main(string[] args) { Uri baseAddress = new Uri("http://localhost:8000/PBMB"); ServiceHost selfHost = new ServiceHost(typeof(PBMBService), baseAddress); try { selfHost.AddServiceEndpoint( typeof(IService), new WSHttpBinding(), "PBMBService"); ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; selfHost.Description.Behaviors.Add(smb); selfHost.Open(); Console.WriteLine("Serwis gotowy."); Console.WriteLine("Naciśnij  aby zamknąć serwis."); Console.WriteLine(); Console.ReadLine(); selfHost.Close(); } catch (CommunicationException ce) { Console.WriteLine("Nastąpił wyjątek: {0}", ce.Message); selfHost.Abort(); } } } 

app.config我有:

         

我可以从这里更改IP。 但是如何在运行时更改它(即从文件读取地址/ IP)?

您可以在创建客户端类后替换服务端点:

 public class PBMBService : IService { private void btnPing_Click(object sender, EventArgs e) { ServiceClient service = new ServiceClient(); service.Endpoint.Address = new EndpointAddress("http://the.new.address/to/the/service"); tbInfo.Text = service.Ping().Replace("n", "rn"); service.Close(); } } 

您可以使用以下渠道工厂:

 using System.ServiceModel; namespace PgAuthentication { public class ServiceClientFactory : ChannelFactory where TChannel : class { public TChannel Create(string url) { return CreateChannel(new BasicHttpBinding { Security = { Mode = BasicHttpSecurityMode.None } }, new EndpointAddress(url)); } } } 

您可以使用以下代码:

上述就是C#学习教程:如何在运行时设置端点分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

 Console.WriteLine( new ServiceClientFactory() .Create("http://crm.payamgostar.com/Services/IAuthentication.svc") .AuthenticateUserNameAndPassWord("o", "123", "o", "123").Success); 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031736.html

发表评论

邮箱地址不会被公开。 必填项已用*标注