我创建了一个wcf方法,如下所示,
GetData(string a, string b, string oldParameter)
我将它部署到生产中,现在它被某些K2流程使用了(我根本无法更改参考文献,但它也不允许我这样做)
由于需求变更,我在开发时对此方法进行了此更改
GetData(string a, string b, string newParameter, bool? d)
我还在WCF更新上部署了live以及一些客户端也为此方法创建了一些流程实例。
我刚刚意识到当使用旧方法dll引用的进程之一被称为WCF并且我为string newParameter
和bool? d
获取null时,这是因为他们不知道更改。
现在,如果我将WCF更改为旧方法,我将打破当前进程,如果我保留它,那么旧的进程实例就会被破坏。
我如何将这两种方法都纳入旧版和新版流程实例无错误地工作?
我尝试添加这两种方法,但之后在wcf ...
中不允许这样做请注意我无法更新对旧流程实例的引用,因为它不被允许
答案 0 :(得分:0)
非常非常我会说verryyyyyyyyyyyyyyyyyy奇怪的行为,我发现它像这样工作,
GetData(string a, string b, string oldParameter, string newParameter, bool d)
{
// check if oldParameter is empty/null then use newParameter
}
如果旧进程调用此WCF方法,则通过oldParameter
获取值,如果较新的流程实例调用它,则oldParameter
中的newParameter
为空值和右值。
这样我就可以获得我想要的价值而不会破坏任何东西。