我想创建一个将文本文件作为参数并返回该文件内容的网络服务。
此 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);
}
关于c# - 如何使用 Web 服务读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16175004/