WCF 설정 소감
6566 단어 WCF 설정
<services>
<service name="BLL.Logic" behaviorConfiguration="te">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9091/logicService"/>
</baseAddresses>
</host>
<endpoint address="" binding="ws2007HttpBinding" contract="BLL.ILogic" bindingConfiguration="transportWS2007HttpBinding" />
</service>
</services>
<bindings>
<ws2007HttpBinding>
<binding name="transportWS2007HttpBinding" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647">
<readerQuotas maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" maxStringContentLength="2147483647"/>
<security mode="Message">
<transport clientCredentialType="None"/>
</security>
</binding>
</ws2007HttpBinding>
<basicHttpBinding>
<binding name="newBinding" maxBufferPoolSize="21474835647" maxReceivedMessageSize="2147483647" messageEncoding="Text">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
</binding>
</basicHttpBinding>
</bindings>
bings 라 는 부분 은 services 와 마찬가지 로 집합 이기 도 합 니 다.그 안에 여러 가지 유형의 binding 이 포함 되 어 있 습 니 다.예 를 들 어
<behaviors>
<serviceBehaviors>
<behavior name="te">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
마지막 으로 behaviors 입 니 다.마찬가지 로 behaviors 도 하나의 집합 으로 그 안에 두 가지 유형 이 있 는데 하 나 는 serviceBehaviors 로 service 를 설정 하 는 데 사용 된다.다른 하 나 는 endpoint Behaviors 로 endpoint 를 설정 하 는 데 사 용 됩 니 다.이 두 가지 유형 은 모두 하나의 집합 입 니 다.하위 노드
<client>
<endpoint address="http://localhost:9091/logicService" binding="ws2007HttpBinding"
bindingConfiguration="WS2007HttpBinding_ILogic" contract="Proxy.ILogic"
name="WS2007HttpBinding_ILogic">
</endpoint>
</client>
우선 종결 점 입 니 다.클 라 이언 트 의 종결 점 은 client 에 놓 여 있 고 그 안에'ABC'도 있 습 니 다.여기 address 는 반드시 서버 에서 설정 한 것 과 같 아야 합 니 다.그렇지 않 으 면 해당 하 는 서 비 스 를 찾 을 수 없습니다.binding 의 유형 도 서버 와 마찬가지 로 contract 는 svcutil 또는 다른 도구 로 생 성 된 코드 에 있 는 클래스 의 완전 한정 명 입 니 다
<ws2007HttpBinding>
<binding name="WS2007HttpBinding_ILogic" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="1024" maxArrayLength="2147483647"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
</binding>
</ws2007HttpBinding>
또 하 나 는 이 binding 입 니 다.클 라 이언 트 의 binding 은 서버 의 것 보다 더 많은 것 을 설정 합 니 다.closeTimeout,openTimeout,receiveTimeout 은 대체적으로 서버 와 같 습 니 다.또한 비교적 큰 데 이 터 를 전송 하려 면 저 처럼 배치 할 수 있 습 니 다.사실은 이 설정 은 몇 M 의 그림 을 전송 하 는 데 적용 되 었 습 니 다.입문 자 이기 때문에 많은 것들 의 이해 가 아직 철저 하지 못 합 니 다.이상 틀린 말 이 있 으 면 비판 하고 지적 해 주 십시오.감사합니다!