客户端调用程序 如下:
string Url=System.Configuration.ConfigurationSettings.AppSettings["MainServer"];
Url+="/CounterFactoryService.rem";
ICounterFactory counterFactory = (ICounterFactory)Activator.GetObject(typeof(ICounterFactory), Url);
ICounter counter = counterFactory.CreateService();while (true)
{
    Console.WriteLine("The current value of the counter is {0}", counter.GetCount());                
    Thread.Sleep(5000);
}调式的时候跟踪counter.GetCount()时,提示:TypeName = 由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。 
但是程序能过正常运行,这是怎么回事啊?

解决方案 »

  1.   

    s_typeofMarshalByRefObject = {Name = 由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。 FullName = 由于以前的函数求值超时,函数求值被禁用。必须继续执行才能重新启用函数求值。}
      

  2.   

    试过了,返回的值是正确的 但是 counter.GetCount()里依然提示求值函数超时,但是不影响程序运行。
      

  3.   

    public class FactoryObj:MarshalByRefObject,IFactory
        {
            /// <summary>
            /// 函数构造器
            /// </summary>
            public FactoryObj()
            { }        public IServerobj CreateInstance()
            {
                return new ServerObj();
            }
        }这是服务器实现类的代码