Я хотел бы создать контракт операции 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();
}
Вот проблема. Это не создает файл в корне сети, он создает его в каталоге, где работает сервер webdav. Когда я запускаю это на сервере IIS, он, кажется, ничего не делает (по крайней мере, не то, что я могу сказать). Как я могу программно получить дескриптор webroot, чтобы я мог поместить полученный файл туда и затем вернуть публичный URL? Я могу прикрепить имя домена после факта без проблем, так что если он только возвращает относительный путь к файлу в порядке.
Спасибо,
Брайен