- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 WCF REST 服务,供不同国家/地区使用的移动应用程序使用。它接受和返回 JSON,我使用 StructureMap。
想法是为所有国家/地区创建一个服务实例,但我需要知道哪个国家/地区正在调用该服务,并在服务中对此进行一些逻辑处理(例如,确定要使用的连接字符串)。
但是,我想避免每个服务请求都必须传递国家代码。我在这里有哪些选择?
例如,我可以为每个国家/地区设置一个端点吗?但在那种情况下,我怎么知道调用服务时使用了哪个端点/国家/地区代码?
也许还有其他可能性?
最佳答案
多个端点可能是一种解决方案,但您需要一种可靠的方法来确定实际使用了哪个端点。鉴于 WCF REST 服务的“断开连接”性质(我的意思是使用非 WCF 类型进行通信并仅使用 WCF 属性),这将需要您编写一个 WebHostFactory 来指定创建服务的国家/地区对于给定的端点。您可以做的是检查 WebOperationCurrent.Current
实例以访问隐藏在您的方法签名中的信息。例如:
Uri requestRoot = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.BaseUri;
if (requestRoot.PathAndQuery.Contains("en-us")) {
// use english locale
}
else if (requestRoot.PathAndQuery.Contains("de-de")) {
// use german locale
}
您需要更好的策略来确定实际的国家/语言,但基本思想是在多个路径下重新托管相同的服务,并使用当前的 WebOperationContext
检查请求中的这些路径实例。
编辑从上面的评论中,我想补充一点,您可以使用 WebOperationContext
访问当前请求的 UserAgent
字符串。因此,您还可以检查这些信息以寻找有关所请求语言的线索。但请记住,这些“隐式”信息只是线索,绝不会明确指示用户想要什么。
关于c# - WCF REST 服务 : passing country code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8309497/
我正在尝试使用 c# 从国家代码中获取国家名称 例如: fr-fr 让我知道法国 it-it 让我想到了意大利 我的代码的问题是我没有得到名称,而是这样的信息: French (France) 这是我
我有一个 Web 服务,当被调用时,它返回一个包含多态列表的结果对象。但是,当我在我的客户端应用程序中添加引用时,公共(public)字段在客户端应用程序中变成了一个 Country 数组。如何将客户
为什么运营商 $array['country'][] 返回逻辑上的 $array[]['country']? 我说的是这个。如果你想从 MySQL 数组中提取每行 ['country'] 的值,[1]
我试图通过国家名称查找国家代码。所以,例如,我有“荷兰”,我需要得到“NL” 我知道有一种方法可以找到名称形式的代码: $country_name = Mage::app()->getLocale()
我有一个列 df['Country'] 的数据框。我创建了一个字典,其中所有大陆作为键,值作为相应国家/地区的列表。continents = { "North America" : ["Canada"
我可以从 NSLocale 或 GeoPlugin 中获取国家代码(ISO 3166“双字母代码”) . 但我的要求是获得 MCC(移动国家代码)。我需要使用设备的当前 mcc 调用一个 REST A
我的 Dart 代码有问题。我正在尝试从API提取一些数据,它返回JSON数组。我创建了一个解析JSON的模型。之后,我尝试将获取的数据传递给函数,但出现此错误:“无法从函数'fetchCountri
在我看来,而不是使用普通的 表单中的字段,我想使用 Grails 的 小部件。 我的问题 ...产生... Afghanistan Albania ... 这意味着,当提交表单
我正在尝试解决此问题,但无法理解此错误的根本原因: Invalid Content Was Found Starting With Element 'country'. One Of '{countr
我的数据库中有两个表: 1. venprices +---------+---------+--------+ | concode | rate | vendor | +---------+--
xml内容为 255258 bazarr Street 24
我正在实现一个 API 和 C++ SDK,它将为给定的纬度/经度返回两个字母的国家/地区代码,例如“US”。这些 ISO 3166-1 alpha-2有据可查,但没有国际水域代码。在这种情况下应该返
基于django-countries文档, >>> person.country Country(code='NZ') >>> person.country.name u'New Zealand' 应
如何从以下 MSISDN 中检测国家代码? 塞浦路斯 (+357XXXXXXXX) -- 11 位数字 芬兰 (+358XXXXXXXXXX) -- 13 位数字 塞尔维亚 (+381XXXXXXX)
我创建了国家概况 public class Country { public string Name { get; set;} } 和国家列表 public class Countries :
我一直在尝试创建一个 3 列下拉列表作为国家、州、城市。 州列表将根据选择的国家/地区显示。同样的事情发生在城市取决于选择哪个州。 我的数据库如下。如果选择了一个国家,则州将根据国家/地区显示。同样的
如何使用 OSM 生成这样的 map ?我希望 map 突出显示单个国家/地区并淡化其他国家/地区。另外,如果这个国家很小,我想在地球上以小缩略图的形式展示它。 最佳答案 好吧,让我们使用 JavaS
我想返回 _ 中所有国家/地区的列表格式为 应该是英文,所以我需要一个像 en_GB、en_US、en_JP 等列表。查看 Locale 的 api 返回 _但它并不将其限制为 en 等语言。我在这里
我正在使用 jQuery VMap,它可以很好地使用此代码 jQuery('#vmap2').vectorMap({ map: 'world_en', back
我正在为一位新客户深入研究 Google Charts,想知道是否可以使用 Map API 仅显示某个国家/地区。我已经设法设置了选定的区域,但我似乎无法找到排除邻国的方法。非常感谢有关此主题的任何帮
我是一名优秀的程序员,十分优秀!