locked
引用WCF Service 时出错 RRS feed

  • 问题

  •  

    在Silverlight中引用了WCF Service 后,运行就出现错误

    错误提示如下

    Unhandled Error in Silverlight 2 Application 在ServiceModel 客户站配置文件中,找不到引用协定“HentyAdmin.IHentyAdmin"的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素。

     

    可以把这个WCF Service直接引用到asp.net的网页里应用就没有问题,不知道是我的哪里配置有问题

     

    这个问题我在其它的网站上也看到有人提过,不过没有得到解决

    2008年11月2日 16:14

答案

  • 在你的Web.Config里面找到  

          <services>
                <service behaviorConfiguration="SilverlightApp_Web.MyServiceBehavior"
                    name="SilverlightApp_Web.MyService">
                    <endpoint address="" binding="wsHttpBinding" contract="SilverlightApp_Web.IMyService">
                        <identity>
                            <dns value="localhost" />
                        </identity>
                    </endpoint>
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                </service>
            </services>

     

    把它修改为
      <services>
       <service behaviorConfiguration="SilverlightApp_Web.MyServiceBehavior" name="SilverlightApp_Web.MyService">
        <endpoint address="" binding="basicHttpBinding" contract="SilverlightApp_Web.IMyService">
         <identity>
          <dns value="localhost"/>
         </identity>
        </endpoint>
        <endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange"/>
       </service>
      </services>

     

    程序就可以运行了Smile

    前面的帖子说了嘛,目前sl只支持httpbasic的wcf数据传输,可能我说的不详细

    2008年11月6日 8:41

全部回复

  • 检查一下 HentyAdmin.IHentyAdmin 契约中的某个函数的参数类型是否已经被公布.

    2008年11月2日 23:01
  • sl的wcf只支持HttpBasic协议传输,看看你的wcf是否是此协议的

     

    2008年11月2日 23:15
  •  

    我又新建了一个工程,引用WCF Service 还是出错,而且silverlight配置文件里没有内容,不知道怎么配置,能不能帮我调试一下,谢谢

    这个问题我都折腾了好几天了

    工程文件地址

    http://www.henty.net.cn/SilverlightApp.rar

     

    最好帮我写一下调试的步骤
    2008年11月5日 16:25
  • 在你的Web.Config里面找到  

          <services>
                <service behaviorConfiguration="SilverlightApp_Web.MyServiceBehavior"
                    name="SilverlightApp_Web.MyService">
                    <endpoint address="" binding="wsHttpBinding" contract="SilverlightApp_Web.IMyService">
                        <identity>
                            <dns value="localhost" />
                        </identity>
                    </endpoint>
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                </service>
            </services>

     

    把它修改为
      <services>
       <service behaviorConfiguration="SilverlightApp_Web.MyServiceBehavior" name="SilverlightApp_Web.MyService">
        <endpoint address="" binding="basicHttpBinding" contract="SilverlightApp_Web.IMyService">
         <identity>
          <dns value="localhost"/>
         </identity>
        </endpoint>
        <endpoint address="mex" binding="basicHttpBinding" contract="IMetadataExchange"/>
       </service>
      </services>

     

    程序就可以运行了Smile

    前面的帖子说了嘛,目前sl只支持httpbasic的wcf数据传输,可能我说的不详细

    2008年11月6日 8:41
  •  

    好了,谢谢啦,把这里修改之后,我又重新在silverlight项目中引用了一下,问题解决了,万分感谢

    我开始向下学习啦

    2008年11月6日 16:30
  • 太感谢了!遇到相同的问题!按照版主的方法已解决!
    2009年8月26日 2:43