我想创建一个消耗字符串的WCF操作合约,生成一个公共网页,然后返回这个新页面的地址。
[ServiceContract(Namespace = "")]
public class DatabaseService
{
[OperationContract]
public string BuildPage(string fileName, string html)
{
//writes html to file
//returns public file url
}
}
这似乎不应该是复杂但我无法弄清楚如何做到这一点。到目前为止,我所尝试的是:
[OperationContract]
public string PrintToFile(string name, string text)
{
FileInfo f = new FileInfo(name);
StreamWriter w = f.AppendText();
w.Write(text);
w.Close();
return f.Directory.ToString();
}
这是问题所在。这不会在Web根目录中创建文件,而是在运行webdav服务器的目录中创建该文件。当我在IIS服务器上运行它时,它似乎什么都不做(至少我不知道)。 如何以编程方式获取webroot的句柄,以便我可以将结果文件放在那里,然后返回公共URL?我可以在没有问题的情况下查看域名,如果它只返回文件的相对路径没问题。
谢谢, 布赖恩
答案 0 :(得分:0)
为什么需要以编程方式确定路径,不知道吗?你不能把它放在配置文件中并从那里读取它吗?