C# sliverlight调用WCF服务出现的一个错误
2024-09-01 04:49:36
错误提示如下:
尝试向 URI“http://localhost:8396/Service1.svc”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。
出现问题的过程:
1、打开vs2013,新建项目sliverlight引用程序
2、在解决方案中添加一个新建项目wcf服务应用程序
3、在SilverlightApplication1中添加服务引用,单击"发现"按钮(添加服务之前记得将wcf服务编译生成一下,不然找不到服务)
4、在SilverlightApplication1中使用wcf服务
MainPage.xaml.cs添加代码(红框内部分是添加进去的)
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes; namespace SilverlightApplication1
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent(); ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
client.GetDataCompleted += client_GetDataCompleted; //处理返回值的函数
client.GetDataAsync(); //传参数的地方
} void client_GetDataCompleted(object sender, ServiceReference1.GetDataCompletedEventArgs e) //处理返回值的函数
{
MessageBox.Show(e.Result);
//throw new NotImplementedException();
}
}
}
5、编译运行即出现本文开头提到的错误。
6、解决方法
在WCF服务目录下放两个文件clientaccesspolicy.xml、crossdomain.xml即可
7、运行结果
整个测试的项目(此项目是在vs2013下生成的)下载:链接:http://pan.baidu.com/s/1eQezJj0
最新文章
- eclipse调试
- Python爬虫学习(9):Selenium的使用
- linux 解压缩
- Python操作mysql之SQLAchemy(ORM框架)
- paip.字符串操作uapi java php python总结..
- C# 线程抛异常
- 使用rsyslog+loganalzey收集日志显示客户端ip
- ruby使用IO类读写文件
- js node
- MBProgressHUD的基本使用
- 【Egret】实现web页面操作PC端本地文件操作
- 解决mongodb的安装mongod命令不是内部或外部命令
- Chrome 启动全屏,并可以F11退出
- slice,substring,substr的区别
- 六、Linux的用户和组
- git切换远程仓库地址
- redis过期机制(官网文档总结)
- [转载] apache ab压力测试报错(apr_socket_recv: Connection reset by peer (104))
- 图解 Java 内存模型
- python--Selenium-模拟浏览器