我有一个非常奇怪的问题。 在我的wcf服务器中,有一些类似的代码
public MethodAResponse MethodA(MethodARequest req)
{
LogHelper.Info(JsonHelper.ToJson(req)) // log a
var r=abc.GetStatus();
LogHelper.Info(JsonHelper.ToJson(req)) // log b
....
}
log a是正常的,但log b为null。 “req”值已更改 我不知道是谁改变了局部变量。
abc.GetStatus()中有一些非托管代码,例如
[DllImport("F3API.dll", CallingConvention = CallingConvention.StdCall)]
public static extern long GetCRStatus(IntPtr handle, ref CRStatus status);
如果我不使用这些非托管代码,程序运行符合我的期望 比如
public Status GetStatus()
{
return new Status();
}
谢谢。