关于webservice的想法,有点不太清楚
我初学webservice遇到了这样一个问题: 
 webservice中: 
 private   static   FileStream   m_f;              		 
 		[WebMethod(Description= "开始上传 ")] 
 		public   bool   BeginUpLoad(string   FileName,string   path) 
 		{ 
 			try 
 			{ 
 				m_f   =   new   FileStream(path   +    "\\ " 
 					+   FileName,   FileMode.Create);				 
 				return   true; 
 			} 
 			catch(Exception   ex) 
 			{ 
 				return   false; 
 			} 
 		}   
 		[WebMethod(Description= "分块上传 ")] 
 		public   string   UpLoadBlock(byte[]   fs,int   Length) 
 		{ 
 			try 
 			{  				 
 				MemoryStream   m   =   new   MemoryStream(fs); 
 				m.WriteTo(m_f); 
 				m.Close(); 
 				return    " "; 
 			} 
 			catch(Exception   ex) 
 			{ 
 				return   ex.Message; 
 			} 
 		} 
 主要是那个static,如果我不用static   的话,我调用下面一个函数UpLoadBlock,m_f就会是null,为什么. 
 client端我是这样写的: 
 Upload1   o   =   new   Upload1(); 
 				o.BeginUpLoad(FileName,@ "D:\ "); 
 				for(int   i=0;i <times;i++) 
 				{ 
 					b   =   new   byte[block]; 
 					fs.Read(b,0,(int)block); 
 					string   ret   =   o.UpLoadBlock(b,block);  					 
 					//string   a   =   o.UpLoadBlock(b,block); 
 				} 
 以下是我自己的认为,应该是错的:是不是每次调用webservice就会把member对象重新负值一下?
------解决方案--------------------static 的话m_f只需初始化一次,否则你应该在类实例对象中new m_f
------解决方案--------------------我的理解是,每次调用WebService,都相当于一个会话,当然会创建相应新的实例...   
 仅供参考..
------解决方案--------------------用static和不用static的区别就在于 声明的变量或者实例的生存周期不一样。另外的区别就在与类成员的访问上。 
 用static声明后,他的生存周期和类的一样。不用static,生存周期只是在用到他的时候才存在。不用之后就over了。 
 这里只代表我个人的理解,不足之处不要见笑。