2009-03-27 3 views
8

편집 : 저는 하나의 정수 매개 변수를 제공하고 문자열을 검색하기 만하면되므로 일반 웹 페이지로 변환하기로 결정했습니다.웹 서비스 endPoint 및 계약을 C# 코드에서 구성 하시겠습니까?

누구든지 좋은 답변이 있으면 질문을 공개하겠습니다.


은 내가 호출 할 웹 서비스를 가지고 있지만, 이것은 플러그인 시스템 아무튼 같은 다른 시스템,하지 않을의 모든 구성 응용 프로그램 설정 파일에 플러그인을 호출해야하기 때문에 그 파일을 전혀 읽지 못합니다. 단지 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 물론 변화의 같은 것이다, 그러나 누군가가 단지하는 방법에 대한 올바른 방향으로 날 지점 수 있다면 그 알아낼 나를 위해입니다 :

아마 변환 할 필요가있는 부분은 응용 프로그램에 필요한 코드가 있으므로 응용 프로그램 구성 파일을 삭제해도 여전히 작동합니다.

+0

WCF는, 어떤 방법으로, 기존의 WSE/WSDL의 웹 서비스는 훨씬 간단 ... 구성에서 많은 고통을 가지고 - 같은 것들도 또는 protobuf-NET 제공 계약 기반의 RPC/http 채널. 코드를 통해 WCF를 완전히 수행 할 수는 있지만 항상 간단한 것은 아닙니다. –

+0

여러 웹 페이지를 찾았지만 검은 마법처럼 보였으므로 현재 코드를 웹 페이지로 변환했습니다. ID로 순수 텍스트 문자열이 필요하고 보안 문제로 인해 일부 시스템을 서로 분리하는 "서비스"가 있습니다. –

답변

1

이 유사한 문제에 도움 될 수 있습니다 Making WCF easier to configure

내가 필요한 거의 또는 전혀 클라이언트 설정하여 응용 프로그램을하고 싶어 - 그냥 서버에 그것을 지적하고 연결합니다.

+0

고마워, 나는 그것을 grok하려고합니다. –

2

web.config 파일에서 REST 서비스를 통해 파일 크기를 64KB (기본값) 이상 업로드하는 경우 다음 구성을 사용했습니다. 그것을 얻는으로

<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>