У меня есть веб-сервис, который содержит этот метод:
[WebMethod]
public static List<string> GetFileListOnWebServer()
{
DirectoryInfo dInfo = new DirectoryInfo(HostingEnvironment.MapPath("~/UploadedFiles/"));
FileInfo[] fInfo = dInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly);
List<string> listFilenames = new List<string>(fInfo.Length);
for(int i = 0; i < fInfo.Length; i++)
{
listFilenames.Add(fInfo[i].Name);
}
return listFilenames;
}
Возвращает список имен файлов в папке. Когда я отлаживаю приложение, оно работает нормально.
Я хочу вызвать этот метод веб-сервиса из приложения winform. Я добавил ссылку на .dll веб-службы, и вот как я называю вышеупомянутый метод:
private void Form1_Load(object sender, EventArgs e)
{
List<string> files = TestUploaderWebService.Service1.GetFileListOnWebServer();
}
Приведенный выше код не работает - когда он входит в метод, путь к веб-приложению равен нулю, а многие свойства класса HostingEnvironment также равны нулю. В чем моя ошибка при попытке вызвать метод веб-службы из другого приложения winform?
Обратите внимание, что веб-сервис выполнен в Visual Web Developer Express, а winform - в Visual C # express; Вот почему мне пришлось добавить DLL веб-службы в качестве ссылки в приложении winform. У меня нет полной версии Visual Studio, что позволило бы мне по одному решению с обоими проектами.
Я новичок в веб-службах.
PS - мне нравится форматирование текста на лету здесь:)