1

我有 WCF 服务。

我有一个字段(比如名称),现在客户想要将其更改为名字(空格前的前半部分)和姓氏(空格后的所有内容)。

此 WCF 服务正被不同的应用程序使用,我希望在不破坏任何现有客户端的情况下完成此操作。

我可以添加两个新的数据成员,即使它们在数据库中不存在?如何为这两个新数据成员设置或获取值?

谢谢

4

2 回答 2

5

像这样的东西应该工作:

DECLARE @FullName VARCHAR(255)
SET @FullName = 'James Johnson'

SELECT SUBSTRING(@FullName, 1, CHARINDEX(' ', @FullName) - 1) AS FirstName,
       SUBSTRING(@FullName, CHARINDEX(' ', @FullName) + 1, LEN(@FullName)) AS LastName

上面的输出如下所示:

名字姓氏
------------ ----------------
约翰·多伊

要解析代码中的名称,下面的代码示例应该适用于名字和姓氏。如果您需要一个可以处理前缀、后缀和中间名的强大解析器,请查看这篇文章

var names = ("James Johnson").Split(Convert.ToChar(" "));
if (names.Length > 0)  
    Response.Write(string.Format("First: {0}, Last: {1}", names[0], names[1]));
于 2012-04-11T15:05:39.547 回答
1

如果新数据成员是字符串,那么这应该没问题,旧版本的服务客户端将忽略其他数据成员。

请参阅此相关问题: 向 WCF 数据合同添加字段会破坏客户端?

于 2012-04-11T15:06:20.983 回答