Другая проблема с вашим кодом заключается в том, что вы вообще не пытались записать файл.
Эта строка не делает то, что вы думаете:
wc.OpenWriteAsync (u, null,
fileContent); // Загрузить файл в
сервер
Подпись вызова - OpenWriteAsync (URI, HTTPMETHOD, UserToken).
Позвольте мне немного разобраться с этим. URI Я думаю, что у вас есть. HTTPMETHOD позволяет вам установить, делаете ли вы сообщение или получаете. Вероятно, вы хотите сделать HttpPost. Наконец, последний пункт не предназначен для передачи содержимого файла. Это скорее переменная состояния, поэтому вы можете отслеживать запрос (подробнее об этом чуть позже).
Способ работы стека HTTP в Silverlight заключается в том, что все асинхронно. Таким образом, вы в своем случае настраиваете запрос, а затем сообщаете среде выполнения, что хотите записать некоторые данные в запрос. Это то, что делает ваш звонок. Он выходит и настраивается, чтобы позволить вам сделать запрос (что может произойти в фоновом потоке, а не в потоке, в котором обновляется пользовательский интерфейс). Как только это настроено, оно вызовет ваше событие обратного вызова с потоком, в который вы можете записать. Одна из вещей, которую он отправляет вам обратно, - это переменная состояния (UserToken), которая дает вам возможность узнать, на какой запрос он ответил вам (что означает, что вы можете отправить несколько файлов обратно на сервер одновременно) .
Он также отображает несколько других событий, которые вы можете использовать, чтобы увидеть, все ли работает нормально (например, вы можете получить ответ на ваш звонок и посмотреть, какой код статуса был - который скажет вам, если все прошло успешно или не). Кстати, при каждом обратном вызове он отправляет эту переменную UserToken, чтобы ваше приложение могло отслеживать, на какой запрос был получен ответ (если сейчас их несколько).
Ссылки, которые предоставил последний парень, должны помочь вам. Он тоже прав, вам нужно что-то на настройке сервера, чтобы ответить на запрос, или, скорее, вы, как правило, хотите это сделать. Вы можете настроить папку, чтобы позволить вам отправлять данные непосредственно в нее, но, честно говоря, вы не хотите этого делать, поскольку открываете свой сервер для хакеров.