问题在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从新更新一下引用就可以了。
本文解决Silverlight客户端访问WCF服务时出现的配置问题,通过修改ServiceReferences.ClientConfig及web.config或app.config,确保服务元数据可被正确读取。
467

被折叠的 条评论
为什么被折叠?



