zoukankan      html  css  js  c++  java
  • (转)在WCF服务的ServiceReferences.ClientConfig中使用相对路径

    问题:

           Silverlight项目中添加服务引用后会在Silverlight项目中生成一个ServiceReferences.ClientConfig文件,这个文件中包含了引用服务的绑定(bindings)和终结点(Endpoint)的配置信息。下面是引用一个WCF服务后自动生成的配置信息:

    <configuration>

        <system.serviceModel>

            <bindings>

                <basicHttpBinding>

                    <binding name="BasicHttpBinding_IService1" maxBufferSize="2147483647"

                        maxReceivedMessageSize="2147483647">

                        <security mode="None" />

                    </binding>

                </basicHttpBinding>

            </bindings>

            <client>

                <endpoint address="http://localhost:4177/Services/Service1.svc"

                    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1"

                    contract="ServiceReference1.IService1" name="BasicHttpBinding_IService1" />

            </client>

        </system.serviceModel>

    </configuration>

    在程序开发阶段,使用上面的配置信息不会有什么错误。在部署程序时,服务的地址通常和开发时使用的服务地址是不一样的,这时就需要修改上面的配置信息中的终结点的地址。但是Silverlight项目编译后会将ServiceReferences.ClientConfig嵌入到生成的xap文件中,这给修改带来了一定难度。

    以上问题的描述参考自http://www.aspxcs.net/HTML/2345222075.html

    当然,你也可以用zip解压缩,修改ServiceReferences.ClientConfig后再放回去,但每次都这么处理对软件的产品化发布很不利。

    解决办法:

           看了http://zdd.me/managingendpoint发布的解决办法,我的项目是跟WCF在同一个站点中,使用的是Silverlight4,因此可以使用相对路径。具体如下:

        如果WCF服务和Silverlight应用在同一个站点,同时使用的是Silverlight 4,比如你的Silverlight应用包是在http://foo.com/clientbin/myapp.xap 路径,WCF服务路径是http://foo.com/helloworldservice.svc

    那么在Silverlight 4中可以使用相对路径的服务引用。如果你的XAP包是在/ClientBin/MyApp.xap,而服务是在与ClientBin相同的根路径/HelloWorldService.svc,那么就可以使用“../HelloWorldService.svc”。也就是说相对路径是相对与XAP包所在的路径。配置信息如下:

       1: <endpoint address="../HelloWorldService.svc"

       2:                 binding="customBinding" bindingConfiguration="RelativeBinding"

       3:                 contract="HelloServices.HelloWorldService" name="RelativeBinding" />

    经过测试,此方法可行!问题解决。

  • 相关阅读:
    BZOJ1040: [ZJOI2008]骑士
    酱油记:GDKOI2018
    BZOJ1800: [Ahoi2009]fly 飞行棋
    BZOJ3894: 文理分科
    树链剖分
    文件格式问题
    10.23模拟赛
    snakes
    数据结构题目
    jquery&nbsp;easyui&nbsp;datebox&nbsp;的使用&nbsp;.
  • 原文地址:https://www.cnblogs.com/wangyt223/p/3378145.html
Copyright © 2011-2022 走看看