Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为WCF服务使用IP地址_C#_Wcf - Fatal编程技术网

C# 为WCF服务使用IP地址

C# 为WCF服务使用IP地址,c#,wcf,C#,Wcf,我有一个C应用程序可以在我的服务器上调用我的WCF 在某个时候,我会想将我的上传过程的一部分从客户端移动到服务器到另一台服务器 所以,这就是我要做的 我的桌面应用程序使用DNS全名~www.mysite.com调用托管在我的服务器上的WCF 然后,该[web方法]将向客户端返回一个IP地址 然后,客户端将图像上载到仅可通过IP地址访问的其他服务器 这个想法是,如果我的应用程序成功了,并且我需要“负载平衡”上传图像,那么我就会有一个机制来为我的客户端指定不同的目标服务器 因此,我开始在StackO

我有一个C应用程序可以在我的服务器上调用我的WCF

在某个时候,我会想将我的上传过程的一部分从客户端移动到服务器到另一台服务器

所以,这就是我要做的

我的桌面应用程序使用DNS全名~www.mysite.com调用托管在我的服务器上的WCF

然后,该[web方法]将向客户端返回一个IP地址

然后,客户端将图像上载到仅可通过IP地址访问的其他服务器

这个想法是,如果我的应用程序成功了,并且我需要“负载平衡”上传图像,那么我就会有一个机制来为我的客户端指定不同的目标服务器

因此,我开始在StackOverFlow中寻找一种动态设置WCF的IP地址/端点的方法。这对于web服务来说很容易做到,但对于WCF来说似乎有点困难

不用说,我正准备在这里查看答案,但却遇到了一条评论,说WCF需要使用DNS

这是真的吗

由于这是我得到的唯一服务器,并且它正在使用DNS,我还没有访问辅助服务器,但我无法测试这一点


这两件事都可能吗

编写web服务客户端时,可以通过编程方式更改服务器端点。这与是否在服务器中使用WCF无关

MyClient client = new MyService.MyClient();
client.Endpoint.Address = new EndpointAddress(new Uri("target URL"));
client.Open();
你可以找到更多的细节

希望我能帮忙

MyClient client = new MyService.MyClient();
client.Endpoint.Address = new EndpointAddress(new Uri("target URL"));
client.Open();
它可以工作,我们也可以使用

myService.MyClient client = new myService.MyClient ();
 //enter code here, when the service is created as wcf application

[WebMethod]是一个ASMX web服务,而不是WCF…@marc_感谢您纠正/帮助我。我感到困惑,您是在问客户机是否可以动态指向其他IP地址,还是在问您是否可以动态分配服务标识的IP地址?如果只是客户机,您能否不执行client.Endpoint.Address=new System.ServiceModel.EndpointAddressmy.ip.addr.ess@谢谢你的回复。是的,我就是这个意思。对不起,我的措辞……这有用吗?我做了一些实验,发现client.Endpoint.Address无法更改,即使它允许操作,但跟踪被调用的端点仍然是原始的。直到我实例化了一个全新的客户端,它才会改变ala:client=newmyservice.MyClientmy.endpoint.address;也看看这个线程:我相信原因是,一旦WCF建立了初始客户机关联,客户机状态将保持不变,因此更改WCF客户机中的地址实际上不会在Web请求层更改它。@LaMMMy-Oh-day。这可能不可行。不过我还没有测试过。感谢linkIn,如果有人认为这是答案,我发现这不起作用。我已经给出了答案,但我应该先测试。“我有点傻!”安德鲁,我想我可以删除答案。但最好你可以编辑它,使其正确,或解释什么是错误的…我们也可以使用-是的,我们可以,但那有什么用?这与公认的答案有何不同?