从C#代码配置Web服务endPoint和契约?

时间:2009-03-27 08:57:37

标签: c# web-services configuration

编辑:我决定将其转换为普通网页,因为我只需要提供一个整数参数并检索字符串。

如果有人有一个好的答案我会留下问题。


我有一个我想要调用的Web服务,但是因为必须从插件调用到另一个系统,所以配置中的所有配置的应用程序配置文件都不会这样做,因为插件系统没有读取文件,只是DLL。

所以,问题是,如何从配置文件中获取相关部分并将其转换为代码呢?

我可能需要转换的部分是:

<system.serviceModel>
    <bindings>
        <basicHttpBinding>
            <binding name="TooltipServiceSoap" closeTimeout="00:01:00" openTimeout="00:01:00"
                receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
                bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
                <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                    maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                <security mode="None">
                    <transport clientCredentialType="None" proxyCredentialType="None"
                        realm="" />
                    <message clientCredentialType="UserName" algorithmSuite="Default" />
                </security>
            </binding>
        </basicHttpBinding>
    </bindings>
    <client>
        <endpoint address="http://localhost:2952/TooltipService.asmx"
            binding="basicHttpBinding" bindingConfiguration="TooltipServiceSoap"
            contract="TooltipService.TooltipServiceSoap" name="TooltipServiceSoap" />
    </client>
</system.serviceModel>

URL和这样的意思当然会发生变化,但这是让我弄清楚是否有人可以指出我如何将必要的代码引入应用程序的正确方向,这样如果我删除应用程序配置文件,它仍然有效。

2 个答案:

答案 0 :(得分:2)

我在web.config文件中使用了以下配置,通过REST服务上传文件大小超过64 KB(默认)。

<system.serviceModel>
    <services>
      <service name="Service">
        <endpoint
          address=""
          binding="webHttpBinding" bindingConfiguration="FileTransferServicesBinding"
          contract="IService"/>
      </service>
    </services>
    <bindings>
      <webHttpBinding >
        <binding name="FileTransferServicesBinding" maxBufferSize="10242880"  maxReceivedMessageSize="10242880">
          <readerQuotas maxStringContentLength="10242880"  maxArrayLength="10242880" />
        </binding>
      </webHttpBinding>
    </bindings>
  </system.serviceModel>


<system.web>
    <httpRuntime maxRequestLength="65536" executionTimeout="36000"/>
</System.Web>

答案 1 :(得分:1)

这是一个类似的问题,可能有所帮助:Making WCF easier to configure

我想要一个只需很少或不需要客户端配置的应用程序 - 只需将其指向服务器并将其连接即可。