我重新提到了我的问题。WCF - 每个调用对象缓存
从我的WCF服务的服务器端代码,我想缓存一些变量。这些变量需要在整个服务调用的生命周期中使用。我不希望他们在可能用于服务逻辑的每个方法签名调用中。
如果这是一个web应用程序,我会使用会话管理,但这是在服务器端代码。我如何“缓存”每个服务调用的这些值,然后在服务完成时将它们处理掉?
解决方案:
的这点是跟踪哪些服务调用中的错误跟踪工具有一个错误。所以,最后我不喜欢的东西如下:
public class MyService: IMyService
{
public String ServiceLogic(string var1, string var2, string id)
{
try{
DoingStuff.DoMoreStuff();
}
catch(exception ex)
{
var trapper = MyCustomErrorTrap(var1,var2);
throw new faultexpection<MyCustomErrorTrap>(trapper);
}
}
}
Public static class DoingStuff
{
public static void DoMoreStuff()
{
try{
if(blah.toString())
........
}
catch(exception ex)
{
throw;
}
}
}
使主调用的方法来捕获所有异常,然后我就可以使用这两个变量,我需要在顶层。
我在这里读两个不同的问题:1)你想登录错误呼叫者ID和2)你有一组除了价值观的来电显示你想要访问来自服务调用栈中的任何地方。我对吗? – ErnieL
对不起,我不明白这个问题,请问可以扩展它吗? – oleksii