C/S程序通过WEB SERVICE下载文件!

现在我做了一个C/S调用WEB SERVICE服务的程序,想在通过调用服务器上的方法来实现下载.现在的问题是,只是可以下载比较小的文件,请哪位朋友有好的方法指教一下!谢谢!
最好有详细的解决方法!新方法也请详细些!谢谢!

大的文件通过ftp的比较多,一是支持断点续传,另外一个稳定性也比http吞吐文件流要好一些,下载也快
----------------------------------------------------------------
longqi293 - 举人 四级的意思是在服务器端建立一个基于完成端口机制的TCP文件传输系统,它本质上和FTP协议没有区别,怎么会比FTP安全?而且工作量会大大增加。

我给你的建议是不要使用webservice下载,你的服务器端单开一个ftp服务器,服务器你可以使用ntpost插件+SqlServer数据库,你可以用WebService根据每个连接重新分配权限并产生随机用户户,将用户名和密码返回到客户端,在客户端发起ftp连接请求,这样还可以自行启动下载软件。
请求的url格式为:
ftp://username:password@ServerAddress
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-01-22
建议用流来下载,这是代码,原创哦!!
public void Accessories(byte[] fs, string FileName,string filter)//下载附件
{
try
{
string paths = FileName + "."+filter;
MemoryStream m = new MemoryStream(fs);
FileStream f = new FileStream(paths, FileMode.CreateNew);
m.WriteTo(f);
m.Close();
f.Close();
MessageBox.Show("下载成功");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}

}
做过测试,最大能到10M,但相对慢,能运行倒是,不过不知道是不是你所说的小文件想对于的大文件呢?还有这和网速还有电脑配置有关系哦!
第2个回答  2009-01-21
为啥不用WebClient(或WebRequest/WebResponse)?
WEB SERVICE是基于xml的文本传输,虽说也能传文件,但这不是它的强项。

ps:只可以下载较小的文件,那你看下打包和拼接文件的时候对不对,
第3个回答  2009-01-21
ftp好一些,web service的确不适合用来做你说的下载文件,这里有个思路,c/s调用web service,触发服务器端的一个服务程序响应链接上来的客户端,两端建立tcp链接,这个就比较安全(比ftp安全很多),而且网络上有相应的发送大文件的代码,可以借鉴过来。

参考资料:经验

第4个回答  2009-01-21
沃野像知道
第5个回答  2009-01-21
9楼的方法比较到位.
只要传文件的话.连Web Service都可以不用啊.直接用Socket收发不就完了吗?

C\/S程序通过WEB SERVICE下载文件!
我给你的建议是不要使用webservice下载,你的服务器端单开一个ftp服务器,服务器你可以使用ntpost插件+SqlServer数据库,你可以用WebService根据每个连接重新分配权限并产生随机用户户,将用户名和密码返回到客户端,在客户端发起ftp连接请求,这样还可以自行启动下载软件。请求的url格式为:ftp:\/\/username:...

如何通过Web Services上传和下载文件
一 通过Web Services显示和下载文件 我们这里建立的Web Services的名称为GetBinaryFile 提供两个公共方法 分别是GetImage()和GetImageType() 前者返回二进制文件字节数组 后者返回文件类型 其中 GetImage()方法有一个参数 用来在客户端选择要显示或下载的文件名字 这里我们所显示和下载的文件可以不在虚拟目录下 采用这...

如何在C#中webservice调用方法总结
1、首先通过下面的方法把Webservice在前台引用进来 <asp:ScriptManager runat="server"> <Services> <asp:ServiceReference Path="WebService.asmx" InlineScript="True" \/> <\/Services> <\/asp:ScriptManager> 2、然后就可以通过JS程序进行调用,示例如下:<script type="text\/jscript"> function a(){...

如何区分SaaS,B\/S,C\/S三种不同模式软体
SaaS软体是继C\/S架构软体(Client\/Server即客户\/伺服器,使用者端需要安装专用的客户端软体,企业需要部署伺服器),和传统B\/S架构软体(Brower\/Server即浏览器\/伺服器,使用者端上只要安装一个浏览器,企业内部部署伺服器)之后,为企业线上提供按需服务的软体应用服务模式(使用者端也是采用浏览器,但企业无需部署伺服器)。...

如何区分SaaS,B\/S,C\/S三种不同模式软件
需要下载到本地安装的程序就是C\/S。 文件服务器模式与客户机\/服务器模式(c\/s)与浏览器模式(B\/s)的异同 cs模式要求客户端必须要有相应的程序,来连接服务端 bs客户端只要有浏览器即可通过web访问服务器 他们对于网络依靠不同:cs一旦掉线必须重新启动程序才可,而bs则随时能连接上,对于操作远程数据来讲cs要比bs...

采用C#开发的C\/S结构应用程序的架构。
还需要通过特殊的端口来通信。明显当遇到防火墙时就会失败。WebService 1:在电子商务行业中应用如把某些通用的逻辑包装起来,供其他公司使用。2:应用集成 使用web service 吧,而且以后你不想使用c\/s结构时候,使用B\/s也是改动最小。

asmx通过那个端口
asmx通过webservice端口。asmx 是WEB服务文件,asmx.cs里有相关代码 ,属于B\/S形式,用SOAP方式HTTP访问,用XML返回 ,可以返回基础类型和PUBLIC结构类型。 在C\/S结构中经常用到。Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一...

Ajax调用WebService返回json语句,实现网页登录,这是什么架构?
1、首先,这妥妥的是B\/S架构,调用webservice,没看到具体的API,但应该是restful。2、B\/S架构是指浏览器-服务器架构,C\/S架构是指客户端-服务器架构。两者区别在于一个使用浏览器就可以访问应用服务,一个需要安装一个客户端才能访问应用服务。3、MVC是经典的三层架构,模型-视图-控制器。用一种...

关于数据库~C\/S和B\/S模式的比较~
使用场合B\/S会多些,但C\/S的性能要比B\/S要好。还一种是B\/C\/S,即利用webservice或http socket做服务端,同时支持browser和client,这种最灵活,微博就是用这种,缺点就是需要一个消息转发的兼容层消除http请求和socket请求的差异,如果是webservice会好些,因为这部分它已经帮你做了....

Remoting和WebService有什么区别 《转帖》
Remoting一般用在C\/S的系统中,Web Service是用在B\/S系统中,后者还是各语言的通用接口,相同之处就是都基于XML。为了能清楚地描述Web Service 和Remoting之间得区别,我打算从他们的体系结构上来说起:Web Service大体上分为5个层次: 1. HTTP 传输信道2. XML 数据格式3. SOAP 封装格式4. WSDL ...

相似回答
大家正在搜