본문 바로가기
카테고리 없음

WCF에서 session은 써야 겠고, wsHttpBinding을 쓰자니 인증 어쩌고 하고..

by 철이아부지 2013. 1. 16.

WCF에서 Session을 쓰려면 BasicHttpBinding은 통하지 않는다.

그렇다고 wsHttpBinding을 쓰면 로컬에서는 상관없는데 본 서버에 올리면 서비스가 호출이가 인증이 어쩌고 하면서 머리아프게함.

핵심은 wsHttpBinding 옵션인데.. security mode="None" 으로 처음 놓고 해보니, Session 안댄다고 질알..

열심히 찾아보니! reliableSession enabled="true"로 해주면 세션이 살아남.


정리해서 web.config에 다음과 같은 형식으로 추가.


<system.serviceModel>

    <bindings>

      <wsHttpBinding>

        <binding name="wsHttpBindingConfiguration">

          <security mode="None" />

          <reliableSession enabled="true" />

        </binding>

      </wsHttpBinding>

    </bindings>

    <services>

      <service name="서비스 이름" >

        <endpoint

           address=""

           binding="wsHttpBinding"

           bindingConfiguration="wsHttpBindingConfiguration"

           contract="API 위치"/>

      </service>

    </services>

    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

  </system.serviceModel>