首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebRequest对FileWebRequest

WebRequest对FileWebRequest
EN

Stack Overflow用户
提问于 2018-06-09 11:44:26
回答 1查看 1.9K关注 0票数 3

我正在浏览微软考试70-483“C#编程”的试题示例。

有一个问题--我不明白这个问题的答案--在互联网上找不到关于这个话题的任何东西。

问题是:

您正在实现名为ProcessFile的方法,该方法从web服务器和FTP服务器检索数据文件。ProcessFile()方法具有以下方法签名:每次调用ProcessFile()方法时,它都必须检索唯一的数据文件,然后将数据文件保存到disk.You,以完成ProcessFile()方法的实现。您应该使用哪个代码段?

代码语言:javascript
复制
FileWebRequest request = FileWebRequest.Create(dataFileUri) as FileWebRequest;
using (FileWebResponse response = request.GetResponse() as FileWebResponse)
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
using (StreamWriter writer = new StreamWriter(dataFieldId + ".dat"))
{
    writer.Write(reader.ReadToEnd());
}

-或者-

代码语言:javascript
复制
WebRequest request = WebRequest.Create(dataFileUri);
using (WebResponse response = request.GetResponse())
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
using (StreamWriter writer = new StreamWriter(dataFieldId + ".dat"))
{
    writer.Write(reader.ReadToEnd());
}

根据“制造问题的人”,后者使用"WebRequest“才是正确的。但我不明白为什么"FileWebRequest“不是。

请记住,我所做的问题在过去一直是错误的,所以也许这也是不正确的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 08:03:25

几个小时前,我也遇到过这个问题。早些时候,我没有做过这方面的工作,但通过在谷歌搜索信息,我得出了以下结论:

  • 主要讨论的词是来自网络服务器和FTP服务器的, 这意味着dataFileUri可能与http://mywebserverftp://myftpserver类似。
  • 例如,当您尝试从ftp服务器获取文件时: //ftp://myftpserver“);//来自应答变量request2 = FileWebRequest.Create("ftp://myftpserver") as FileWebRequest;var request3 =WebRequest.Create”); request1,request3将具有SystemNet.FtpWebRequest类型的请求值。request2将是。 当您尝试使用http://mywebserver:request2,request3将是null时,也会出现类似的行为。
  • 使用WebRequest时,传输协议将自动检测请求的类型。 因此,您不需要考虑文件是否存储在web服务器/文件服务器/ftp服务器上
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50773925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档