silverlight中的WCF服务未将文件保存到服务器



对silverlight和WCF设置还是个新手,所以遇到麻烦时我正在做一些实验。

设置:

我的解决方案有一个网站、一个WCF服务和一个银光应用程序。现在,只需将银色灯光项目视为一个按钮。我已经成功地在silver light项目中添加了对WCF服务的服务引用。

在服务中公开的一个方法中,我创建了一个system.io.stream-writer对象,向其写入一条测试行,然后关闭它

我在silver light应用程序中调用这个方法,当它完成时,我将矩形变为黄色,以确保同步方法已经完成。

该解决方案构建没有错误,当我使用银色灯光应用程序运行网站并按下按钮时,矩形变为黄色(意味着事件已经完成),但文本文件中没有任何内容。

因此,我查看了已完成的事件处理程序中的任何错误消息,肯定得到了以下错误消息:

"尝试向URI'http://localhost:20436/TransmitData.svc'发出请求时出错。这可能是由于尝试以跨域方式访问服务时没有适当的跨域策略,或者策略不适合SOAP服务。您可能需要与服务所有者联系以发布跨域策略文件,并确保它允许发送与SOAP相关的HTTP标头。此错误也可能是由于在web服务代理中使用内部类型而不使用InternalsVisibleToAttribute属性造成的。有关更多详细信息,请参阅内部异常"

由于我是silverlight和WCF的新手,所以我需要一些调试指针。

我也试过fiddler,这就是我得到的信息:

"a:InternalServiceFaultObject引用未设置为对象实例。对象引用未设置于对象实例。位于C:\Users\waqasjafri\Deskt\AttendanceSystem\TransmitData\TransmitData.svc.cs:System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke的SyncInvoketransmitRecord(object,object[],object[])处的WCF.TransmitData.transmitRecord(AttendanceRecord用户)(对象实例,对象[]输入,对象[]和输出)位于System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc&rpc)处System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc&rpc),位于System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.FrocessMessage31(MessageRpc&rpc)System.ServiceModel.Dispatcher.MessageRpc.Process(布尔isOperationContextSet)System.NullReferenceException"

感谢

听起来您需要将服务配置为可以使用clientaccesspolicy.xmlcrossdomain.xml文件跨域调用。

也可以看看这个问题了解更多细节。

最新更新