2013-12-16 4 views
0

Все еще новичок в настройках silverlight и WCF, поэтому я экспериментировал, когда сталкивался с проблемами.Служба WCF в silverlight не сохраняет файл на сервер

SETUP:

Мое решение имеет веб-сайт, службы WCF и серебряный свет приложение. На данный момент просто подумайте, что проект с серебряным светом будет кнопкой. Я успешно добавил ссылку на службу WCF в проекте Silverlight.

В одном из методов, выставленных в службе, я создаю объект system.io.stream-writer, записываю на него тестовую строку и закрываю ее.

Я вызываю этот метод в приложении серебристого света, и когда он закончен, я поворачиваю прямоугольник желтым, чтобы убедиться, что метод синхронизации завершен.

Решение строится без ошибок, и когда я запускаю веб-сайт с помощью приложения серебристого света и нажимаю кнопку, прямоугольник становится желтым (это означает, что событие завершено), но текстовый файл в нем ничего не записано.

Так что я смотрел на всех сообщениях об ошибках в законченном обработчике событий и, конечно, получил сообщение об ошибке:

«Произошла ошибка при попытке сделать запрос к URI„http://localhost:20436/TransmitData.svc“Это может быть из-за попытки. доступ к службе в междоменном режиме без надлежащей политики междоменного размещения или политики, непригодной для SOAP-сервисов. Возможно, вам потребуется связаться с владельцем службы, чтобы опубликовать файл политики междоменной политики и обеспечить он позволяет отправлять HTTP-заголовки, связанные с SOAP. Эта ошибка также может быть вызвана использованием внутренних типов в прокси-сервере веб-службы без использования атрибута InternalsVisibleToAttribute. Подробнее см. внутреннее исключение. «

Поскольку я новичок в silverlight и WCF, мне нужны некоторые указатели для отладки этого.

Ну я попытался скрипача, а также, и это сообщение я получаю:

«: с. InternalServiceFaultObject ссылка не указывает на экземпляр ссылки object.Object не установлено на экземпляр объекта в WCF .TransmitData.transmitRecord (пользователь AttendanceRecord) в C: \ Users \ waqasjafri \ Desktop \ AttendanceSystem \ TransmitData \ TransmitData.svc.cs: строка 32 в SyncInvoketransmitRecord (объект, объект [], объект []) в System.ServiceModel.Dispatcher. SyncMethodInvoker.Invoke (Объектный экземпляр, Объект [] входы, Объект [] & выходов) в System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin (MessageRpc & rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5 (MessageRpcRPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41 (MessageRpc & Rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 (MessageRpc & Rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31 (MessageRpc & Rpc) в системе .ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3 (MessageRpc & RPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2 (MessageRpc & RPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11 (MessageRpc & RPC) в System.ServiceModel.Dispatcher. ImmutableDispatchRuntime.ProcessMessage1 (MessageRpc & rpc) в System.ServiceModel.Dispatcher.MessageRpc.Process (Boolean isOperationContextSet).NullReferenceException»

Благодаря

+0

Для обслуживания вопросов отладки используйте Attach To Process и присоедините свой отладчик к пулу приложений IIS (процесс w3wp.exe), в котором работает ваша служба. Вы должны иметь возможность устанавливать точки останова в своих методах обслуживания и получать больше информации. –

ответ

0

Похоже, вам необходимо настроить службу, чтобы быть callable across domain boundaries с clientaccesspolicy.xml или crossdomain.xml файлом.

Также обратите внимание на this question для более подробной информации.

+0

Я исследовал немного больше и нашел еще несколько деталей что я отредактировал в моем вопросе. Не могли бы вы снова взглянуть на него? возможно, это расскажет вам больше о проблеме. – WackStr

Смежные вопросы