本文介绍了如何设置在运行时的端点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经根据本教程
方法我用它来测试连接到服务器(在客户端应用程序):
Method I use to test connection to server (in client app):
public class PBMBService : IService { private void btnPing_Click(object sender, EventArgs e) { ServiceClient service = new ServiceClient(); tbInfo.Text = service.Ping().Replace("\n", "\r\n"); service.Close(); } //other methods }服务的主要功能:
class Program { static void Main(string[] args) { Uri baseAddress = new Uri("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 <ENTER> 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 我有:
<client> <endpoint address="localhost:8000/PBMB/PBMBService" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IService" contract="IService" name="WSHttpBinding_IService"> <identity> <userPrincipalName value="PPC\Pawel" /> </identity> </endpoint> </client>
我可以从这里更改IP。但是,我怎么能在运行时改变它(即从文件中读取地址/ IP)?
I can change IP from here. But how can I change it during runtime (i.e. read address/IP from file)?
推荐答案您可以替换后的服务端点您创建的客户端类:
You can replace the service endpoint after you created your client class:
public class PBMBService : IService { private void btnPing_Click(object sender, EventArgs e) { ServiceClient service = new ServiceClient(); service.Endpoint.Address = new EndpointAddress("the.new.address/to/the/service"); tbInfo.Text = service.Ping().Replace("\n", "\r\n"); service.Close(); } }更多推荐
如何设置在运行时的端点
发布评论