我目前正在尝试找到一种方法来调用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,该密钥可在服务器端调用中检索.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。