我们有一个WCF服务,可以从外部系统访问。在某些情况下,我们希望我们的回复包含一些描述性文字。因为调用系统不在我们的控制之下,我们需要返回文本本身,而不是error_code或类似的抽象。我们返回的文本需要是人类可读的,并且必须在部署后配置,以防某些客户想要更改措辞。
在ASPX或ASMX中,这很容易:我将人类可读的文本放入localResource或globalResource,并完成它。客户端可以使用附属程序集或其他资源编辑工具来修改部署后的文本。但是,我似乎无法在WCF中找到类似的构造。
在WCF中外部化用户可读字符串的首选方法是什么?
答案 0 :(得分:0)
嗯,WCF不是ASP.NET,所以你不能使用ASP.NET本地资源/全局资源。
但是WCF代码仍然是.NET代码,而.NET本身有一个强大的资源模型(System.Resources
命名空间 - 请参阅ResourceManager
类的MSDN文档作为起点。
你仍然可以使用资源文件,即使是非ASP.NET应用程序 - 这正是我在这里所做的。
将您的文本字符串,图标,您的内容打包成资源。您可以定义这些资源的特定于语言环境的版本,具体取决于例如:一些WCF标头值,为该特定调用选择正确的语言环境,并从相应的资源文件中返回任何文本信息。