Skip to main content
 首页 » 编程设计

c#之如何使用 Web 服务读取文本文件

2024年01月28日27lyj

我想创建一个将文本文件作为参数并返回该文件内容的网络服务。

此 Web 服务随后将由 C# 客户端使用。

这是我目前所拥有的(网络服务):

[WebMethod]     
public String txtFile(String filename) 
{ 
   StreamReader sr = File.OpenText(filename);    
   { 
      String line = sr.ReadToEnd(); 
      return line;             
   }  
} 

和(客户):

WebService ws = new WebService(); 
ws.txtFile("textfile.txt"); 

当我运行客户端时,我得到 UnauthorizedAccessException。

请您参考如下方法:

你只发送文件名,那么服务如何通过文件名从服务器检查你的本地文件!

您需要提供文件名的完整路径,例如网络路径或文件服务器路径。并且 Web 服务运行用户应该可以访问该路径。

但如果您更改如下方法并发送带有文件名的文件内容,您可以将其保存到服务器。

[WebMethod] 
public void Upload(byte[] contents, string filename) 
{ 
    var appData = Server.MapPath("~/App_Data"); 
    var file = Path.Combine(appData, Path.GetFileName(filename)); 
    File.WriteAllBytes(file, contents); 
}