.net - 使用 ASP.NET 和全局化获取 WCF 服务中的浏览器文化

标签 .net asp.net wcf globalization

我有一个调用 WCF 服务的网站,我希望该服务以浏览器区域性运行。我正在 ASP.NET 兼容模式下使用该服务。到目前为止,这是有效的 - 可以使用全局化部分的文化和 uiCulture 设置 WCF 服务的文化。

我的问题是enableClientBasedCulture没有显示任何效果。这些是我的服务全局化设置:

<globalization enableClientBasedCulture="true" culture="auto" uiCulture="auto"/>

该服务会忽略这些设置并使用默认区域性。

我缺少什么吗?在这种情况下,enableClientBasedCulture 是传输区域性的错误方法吗?

最佳答案

对于 WCF 服务,我使用 WS-I18N similar to this one 的实现.

如果我正确理解了您的配置,您将:

  • 客户端上的浏览器
  • ...访问服务器上的 ASP.NET 应用程序
  • ...调用同一或不同服务器上的 WCF 服务(可能在同一服务器应用程序中)

这将按如下方式工作:

  • 浏览器请求 ASP.NET 页面。

  • ASP.NET 应用程序将其区域性设置为客户端区域性 (enableClientBasedCulture =true)

  • ASP.NET 应用程序在调用 WCF Web 服务时添加具有当前区域性的 WS-I18N SOAP header 。

  • WCF 服务解释 WS-I18N SOAP header ,并在处理请求时设置其区域性。

关于.net - 使用 ASP.NET 和全局化获取 WCF 服务中的浏览器文化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2206134/

相关文章:

c# - 替代 session /静态变量 ASP.NET/C#

asp.net - Server.Transfer引发执行子请求时出错。怎么解决?

ASP.NET 显示错误详细信息

silverlight - 将 WCF 双工轮询与 Silverlight 结合使用时出现死锁

c# - XML 输出顺序错误

c# - 如何阻止 GridView 中的特定列

c# - 仅对 DbContext 中的一个查询使用选项 IsolationLevel.ReadUncommited

c# - 在 2 个不同的循环中更新多个进度条

c# - IProgress<T> 未触发

c# - 使用 https 和验证的 WCF 安全身份验证