更新代码,查找所有类型的对象

时间:2011-11-16 07:38:47

标签: c# web-services projects-and-solutions

任务:

翻阅整个解决方案中的所有代码,并将所有webservice方法调用包装在另一个接受GUID的ws方法调用中(这是一个登录方案)

背景: 数百个Web服务,添加令牌安全性。正如我在分配到任务时向我解释的那样,我们这样做是因为如果将来必须对安全性等进行一些更改,我们可以在WrappermethodClass中进行,而不是必须改变数百个网络服务

尝试并失败:

查找所有引用:数据太多,返回超过1000次点击,其中大多数都没用,因为它们只是对象引用。

重命名WS以便所有引用beak,构建我正在处理的项目并在我去的时候修复:与功能不是功能不可分割的服务很好但是只要我用一个重要的服务,它就像我拍摄的那样通过大脑的解决方案,一切都是f **** d和VS只是放弃尝试。

当前解决方案:打开所有相关文档,查找,选择所有打开的文档,跳过。

问题:如何尽可能高效地完成此操作?

代码(之前):

wsGeneric wsGen = new wsGeneric();
wsGen.DoSomething();

代码(后): WrapperMethodClass.DoCheck使用(Action, GUID)

的参数
wsGeneric wsGen = new wGeneric();

wrapperMethodClass.DoCheck((g) =>
{ wsGen.UserInfo.token = g.ToString();
  wsGen.DoSomething();
},Shell.token.Value);

3 个答案:

答案 0 :(得分:0)

您是否有某种类型的接口或类已经更改了方法签名? 如果您更改了网络服务并且您的代码仍然编译,我会说您做错了或我不明白这个问题。

更新: 我还是得不到它。 我想你有这些选择:

  • 更改方法签名(现在应该打破所有调用,修复所有错误vs给你,你应该完成)

  • 查找所有引用(该方法,而不是您的webservice类)并更改调用

  • 如果无法使用“在文件中查找”并搜索方法名称

答案 1 :(得分:0)

  • 如果您的所有webservices都继承自接口或基类,则可以重构此方法以添加参数,所有继承类也将具有该参数。
  • 如果您将登录对象传递给每个Web服务,则可以向此对象添加GUID元素,然后就完成了。

如果您向我们展示一些代码,一些您必须更改的功能接口以及如何更改,那将会容易得多。

答案 2 :(得分:0)

更好的解决方案可能是使用PostSharp将检查添加到您的服务中。这将解决您的业务问题(您只需要更新您的方面)并且比您当前的方法更不容易出错,因为您不必了解一些新的开发人员忘记拨打DoCheck。

不必找到所有参考文献是一个附带的好处。