问题在silverlight客户端的ServiceReferences.ClientConfig文件中,只有</configuration>.
这样就在访问WCF服务时出现“关键字不在数据字典中 的问题”。
主要 修改web.config或app.config配置文件如下:
<
system.serviceModel
>
< bindings >
< basicHttpBinding >
< binding name ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior" >
</ binding >
</ basicHttpBinding >
</ bindings >
< behaviors >
< serviceBehaviors >
< behavior name ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior" >
< serviceMetadata httpGetEnabled ="true" />
< serviceDebug includeExceptionDetailInFaults ="false" />
</ behavior >
</ serviceBehaviors >
</ behaviors >
< services >
< service behaviorConfiguration ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior"
name ="FireWorkflow.Net.Designer.View.Web.DesignerService" >
< endpoint address ="" binding ="basicHttpBinding" contract ="FireWorkflow.Net.Designer.View.Web.IDesignerService" >
< identity >
< dns value ="localhost" />
</ identity >
</ endpoint >
< endpoint address ="mex" binding ="mexHttpBinding" contract ="IMetadataExchange" />
</ service >
</ services >
</ system.serviceModel >
< bindings >
< basicHttpBinding >
< binding name ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior" >
</ binding >
</ basicHttpBinding >
</ bindings >
< behaviors >
< serviceBehaviors >
< behavior name ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior" >
< serviceMetadata httpGetEnabled ="true" />
< serviceDebug includeExceptionDetailInFaults ="false" />
</ behavior >
</ serviceBehaviors >
</ behaviors >
< services >
< service behaviorConfiguration ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior"
name ="FireWorkflow.Net.Designer.View.Web.DesignerService" >
< endpoint address ="" binding ="basicHttpBinding" contract ="FireWorkflow.Net.Designer.View.Web.IDesignerService" >
< identity >
< dns value ="localhost" />
</ identity >
</ endpoint >
< endpoint address ="mex" binding ="mexHttpBinding" contract ="IMetadataExchange" />
</ service >
</ services >
</ system.serviceModel >
其实只是两个地方要改动:
1.绑定形式
<
bindings
>
< basicHttpBinding >
< binding name ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior" >
</ binding >
</ basicHttpBinding >
</ bindings >
< basicHttpBinding >
< binding name ="FireWorkflow.Net.Designer.View.Web.DesignerServiceBehavior" >
</ binding >
</ basicHttpBinding >
</ bindings >
2.引用部分
<
endpoint
address
=""
binding
="basicHttpBinding"
contract
="FireWorkflow.Net.Designer.View.Web.IDesignerService"
>
在silverlight从新更新一下引用就可以了。