c# – Silverlight – 如何本地化对WCF服务的调用?

我目前正在尝试找到一种方法来调用WCF服务,这种方式将允许服务器上的线程了解客户端文化.在网上花了几天阅读主题之后,在我看来,最好的方法就是将(string clientCulture)添加到WCF方法的参数列表中;不再:

string HelloWorld();

但:

string HelloWorld(string clientCulture);

我希望我错了……我欢迎任何可以告诉我如何做得更好的建议.理想情况下,我可以做到以下几点:

WcfService srv = new WcfService();
srv.Endpoint.Address = new System.ServiceModel.EndpointAddress(
    ConfigConstants.ROOT + "Services/WcfService.svc");
// influence address as you are influencing address
srv.Culture = new System.Globalization.CultureInfo("fr-FR");
// and every call to server from now on would pass that 
// culture parameter either in header or body of SOAP message to server

预先感谢您对此主题的任何帮助!

解决方法:

蛮力的方式就像你说的那样,在每次调用时都会传递一个客户文化参数.

但是,更优雅的解决方案是在客户端和服务器端创建行为.

客户端行为将在客户端中向请求添加标头,从CultureInfo类获取当前文化.

服务器端行为将在消息中查找标头,并将其添加到具有已知密钥的OperationContext,该密钥可在服务器端调用中检索.

相关文章

如何在Silverlight4(XAML)中绑定IsEnabled属性?我试过简单的...
我正在编写我的第一个vb.net应用程序(但我也会在这里标记c#,...
ProcessFile()是在UIThread上运行还是在单独的线程上运行.如...
我从同行那里听说,对sharepoint的了解对职业生涯有益.我们不...
我正在尝试保存一个类我的类对象的集合.我收到一个错误说明:...
我需要根据Silverlight中的某些配置值设置给定控件的Style.我...