下面是本人按照网上的教程做的操作
1.创建一个SilverLight应用
2.创建一个使用LINQ的数据源映射对象
3.创建一个WCF应用
4.在SilverLight中添加对WCF的引用 (出错的地方)
5.在SilverLight添加DataGrid数据显示控件
================================================================================================================
添加DataClasses.dbml后在数据库中拖入表 Customer, 然后新建WCF服务,得到文件IService.cs、Service.cs和Service.svc
Service.cs 续承了接口 IService.cs 后 加入代码如下
public List<Customer> GetAllCustomer()
{
DataClassesDataContext db = new DataClassesDataContext();
var customer = from p in db.Customer
select p;
return customer.ToList();
}
然后在silverlight引用该服务的时候出错(编译通过了),单独浏览Service.svc
出现这样的提示:无法找到配置绑定扩展“system.serviceModel/bindings/BasicHttpBinding”。请验证此绑定扩展是否已在 system.serviceModel/extensions/bindingExtensions 中正确注册以及是否拼写正确。
不清楚是我程序安装的问题呢还是代码有错误。
另外我的web.config 做出以下修改
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="ServiceBehavior" name="Service">
<endpoint address="localhost" binding="BasicHttpBinding" contract="IService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
实在网上无法搜索到,请大家指点一下,感激不尽
8 个解决方案
#1
说明下我的环境 xp系统 vs2008中文版 sql2005的数据库(装了Microsoft Expression Blend中文版和Silverlight.2.0)
大家帮个忙,搞了两天了硬是卡在这 网上也搜索不到
应该不是我环境配置的有问题把
大家帮个忙,搞了两天了硬是卡在这 网上也搜索不到
应该不是我环境配置的有问题把
#2
可能是没分的缘故 没人答复
还好自己搞定
还好自己搞定
#3
BasicHttpBinding 改成 basicHttpBinding
#4
多谢,我正好遇到同样的问题。
#5
<endpoint address="localhost" binding="BasicHttpBinding" contract="IService">
中的address必须用localhost如果换成vs2008自己动态分配的地址和端口也是不行。
中的address必须用localhost如果换成vs2008自己动态分配的地址和端口也是不行。
#6
BasicHttpBinding
应该是basicHttpBinding吧
应该是basicHttpBinding吧
#7
不是说不需要改什么吗。
#8
关于你的问题我先给你回答一下:
首先看到你在WCF使用了接口说明你使用的是普通的WCF,你应该使用“启用了Silverlight的WCF”,好多教科书上都没有提到这一点,华中宇郝刚的书上在介绍使用WCF时提到要修改web.config文件。
我建议使用“启用了Silverlight的WCF”,就在WCF项目选择下面,使用WCF连接数据库应该不存在任何问题,你的例子问题就出在没有使用“启用了Silverlight的WCF”,我的程序都是这样做的,我的环境是:VS2008+VS2008SP1+Silverlight2+WCF。
首先看到你在WCF使用了接口说明你使用的是普通的WCF,你应该使用“启用了Silverlight的WCF”,好多教科书上都没有提到这一点,华中宇郝刚的书上在介绍使用WCF时提到要修改web.config文件。
我建议使用“启用了Silverlight的WCF”,就在WCF项目选择下面,使用WCF连接数据库应该不存在任何问题,你的例子问题就出在没有使用“启用了Silverlight的WCF”,我的程序都是这样做的,我的环境是:VS2008+VS2008SP1+Silverlight2+WCF。
#1
说明下我的环境 xp系统 vs2008中文版 sql2005的数据库(装了Microsoft Expression Blend中文版和Silverlight.2.0)
大家帮个忙,搞了两天了硬是卡在这 网上也搜索不到
应该不是我环境配置的有问题把
大家帮个忙,搞了两天了硬是卡在这 网上也搜索不到
应该不是我环境配置的有问题把
#2
可能是没分的缘故 没人答复
还好自己搞定
还好自己搞定
#3
BasicHttpBinding 改成 basicHttpBinding
#4
多谢,我正好遇到同样的问题。
#5
<endpoint address="localhost" binding="BasicHttpBinding" contract="IService">
中的address必须用localhost如果换成vs2008自己动态分配的地址和端口也是不行。
中的address必须用localhost如果换成vs2008自己动态分配的地址和端口也是不行。
#6
BasicHttpBinding
应该是basicHttpBinding吧
应该是basicHttpBinding吧
#7
不是说不需要改什么吗。
#8
关于你的问题我先给你回答一下:
首先看到你在WCF使用了接口说明你使用的是普通的WCF,你应该使用“启用了Silverlight的WCF”,好多教科书上都没有提到这一点,华中宇郝刚的书上在介绍使用WCF时提到要修改web.config文件。
我建议使用“启用了Silverlight的WCF”,就在WCF项目选择下面,使用WCF连接数据库应该不存在任何问题,你的例子问题就出在没有使用“启用了Silverlight的WCF”,我的程序都是这样做的,我的环境是:VS2008+VS2008SP1+Silverlight2+WCF。
首先看到你在WCF使用了接口说明你使用的是普通的WCF,你应该使用“启用了Silverlight的WCF”,好多教科书上都没有提到这一点,华中宇郝刚的书上在介绍使用WCF时提到要修改web.config文件。
我建议使用“启用了Silverlight的WCF”,就在WCF项目选择下面,使用WCF连接数据库应该不存在任何问题,你的例子问题就出在没有使用“启用了Silverlight的WCF”,我的程序都是这样做的,我的环境是:VS2008+VS2008SP1+Silverlight2+WCF。