WCF 方法搞砸了
WCF method messed up
我创建了一个 wcf 方法如下,
GetData(string a, string b, string oldParameter)
我将它部署到生产环境中,现在一些 K2 进程正在使用它(我根本无法更改那里的引用,它也不允许我这样做)
由于需求的变化,我对这个方法进行了开发,
GetData(string a, string b, string newParameter, bool? d)
我还部署了 WCF 更新,一些客户也为此方法创建了一些流程实例。
我刚刚意识到,当引用了旧方法 dll 的进程之一称为 WCF 时,我得到 string newParameter
和 bool? d
的空值,这是因为它们不知道更改。
现在,如果我将 WCF 更改为旧方法,我将破坏当前流程,如果我保持原样,则旧流程实例将被破坏。
我怎样才能将这两种方法整合到一个新旧流程实例都能正常工作的方法中?
我尝试添加这两种方法,但在 wcf 中不允许这样做...
请注意,我无法更新对旧流程实例的引用,因为这是不允许的
非常非常我会说非常奇怪的行为,我发现它是这样工作的,
GetData(string a, string b, string oldParameter, string newParameter, bool d)
{
// check if oldParameter is empty/null then use newParameter
}
如果旧进程调用此 WCF 方法,我会通过 oldParameter
获取值,如果较新的进程实例调用它,我会在 newParameter
中获取 oldParameter
作为空值和正确的值。
这样我就可以在不破坏任何东西的情况下获得我想要的价值。
我创建了一个 wcf 方法如下,
GetData(string a, string b, string oldParameter)
我将它部署到生产环境中,现在一些 K2 进程正在使用它(我根本无法更改那里的引用,它也不允许我这样做)
由于需求的变化,我对这个方法进行了开发,
GetData(string a, string b, string newParameter, bool? d)
我还部署了 WCF 更新,一些客户也为此方法创建了一些流程实例。
我刚刚意识到,当引用了旧方法 dll 的进程之一称为 WCF 时,我得到 string newParameter
和 bool? d
的空值,这是因为它们不知道更改。
现在,如果我将 WCF 更改为旧方法,我将破坏当前流程,如果我保持原样,则旧流程实例将被破坏。
我怎样才能将这两种方法整合到一个新旧流程实例都能正常工作的方法中?
我尝试添加这两种方法,但在 wcf 中不允许这样做...
请注意,我无法更新对旧流程实例的引用,因为这是不允许的
非常非常我会说非常奇怪的行为,我发现它是这样工作的,
GetData(string a, string b, string oldParameter, string newParameter, bool d)
{
// check if oldParameter is empty/null then use newParameter
}
如果旧进程调用此 WCF 方法,我会通过 oldParameter
获取值,如果较新的进程实例调用它,我会在 newParameter
中获取 oldParameter
作为空值和正确的值。
这样我就可以在不破坏任何东西的情况下获得我想要的价值。