我初学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对象重新负值一下?
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对象重新负值一下?
解决方案 »
- 焦点定位问题
- C#程序中如何调用imp命令导入数据
- 然后统计DATASET 里面的数据
- abstract 可以和 override 一起使用吗?
- 请教大家一下,如何将DataSet中的数据存为文件?
- C#中如何实现对类对象的深层次的访问?(跟帖有分,解决问题另送200分!)
- 怎么定义个16进制的数啊,应该是变量.
- 一个OA日程系统的问题
- 出道小题儿啊,答对者有分:)
- 使用CSGL已经可以完成对指定灰度图像的高度图绘制,但是现在颜色只能绘一种,如何在每个格上都能绘上指定的颜色?
- 如何检索DataGridView中符合搜索条件的一行?
- 一个c1FlexGrid中的MultiColumnDropDown的问题
用static声明后,他的生存周期和类的一样。不用static,生存周期只是在用到他的时候才存在。不用之后就over了。
这里只代表我个人的理解,不足之处不要见笑。
我第一次接触webservice,觉得和原来得有很多不同啊