【问题标题】:Silverlight - How do you localize calls to WCF service?Silverlight - 您如何本地化对 WCF 服务的调用?
【发布时间】:2023-03-13 21:20:01
【问题描述】:

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

字符串 HelloWorld();

但是:

字符串 HelloWorld(字符串客户端文化);

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

WcfService srv = 新的 WcfService(); srv.Endpoint.Address = 新 System.ServiceModel.EndpointAddress( ConfigConstants.ROOT + "服务/WcfService.svc"); // 影响地址,因为你正在影响地址 srv.Culture = new System.Globalization.CultureInfo("fr-FR"); // 从现在开始对服务器的每次调用都会传递它 // 发往服务器的 SOAP 消息的标头或正文中的文化参数

提前感谢您对此主题的任何帮助!

【问题讨论】:

    标签: c# .net wcf silverlight


    【解决方案1】:

    如您所说,蛮力方法是添加一个带有客户端文化的参数,您将在每次调用时传递该参数。

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

    客户端行为会在客户端的请求中添加一个标头,从 CultureInfo 类中获取当前文化。

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

    【讨论】:

    • 听起来不错……现在知道如何使用 Silverlight 来实现它 - 因为它不支持行为?
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    相关资源
    最近更新 更多