我刚刚开始使用带有silverlight的WCF并且工作正常。但有一点让我烦恼的是.svc的地址。为什么在.config中静态设置? 在创建代理类的实例时是否可以设置它?如果是这样,有没有办法将其设置为当前地址? 我们的软件将部署在许多不同的域上,我们每次都无法更改配置。 svc将始终与silverlight页面位于同一个域中。 感谢。
答案 0 :(得分:1)
您可以在.svc文件中使用factory参数指定自定义ServiceHost,然后您可以从代码中配置端点,包括相对地址。
请参阅: http://msdn.microsoft.com/en-us/library/aa395224.aspx http://msdn.microsoft.com/en-us/library/system.servicemodel.servicehost.aspx
另见answer
答案 1 :(得分:1)
“在创建代理类的实例时是否可以设置它?”
是的,你可以。只需将地址作为客户端构造函数的参数传递即可。您不需要自定义ServiceHostFactory。
“我们的软件将部署在许多不同的域上,我们每次都无法更改配置。”
此外,对于此要求,您不应要求在服务器端执行任何额外的工作。只有客户显然需要知道要连接的地址。