none
Silverlight対応のWCFサービスにおけるセッションタイムアウト値の設定変更 RRS feed

  • 質問

  • Silverlight対応のWCFサービスにおけるセッションタイムアウト値の設定変更ができなくて悩んでいます。
    ※つまりは、WCFサービスとの通信後、一定時間通信を行わなかった場合にセッション情報がリセットされてしまうまでの時間を変更したいと考えています。
    やり方をご存じの方がいらっしゃいましたらお知恵をお借りできないでしょうか。

    調べたところ、いわゆる普通のWCFであれば、Web.Config内で<customBinding><binding><reliableSession>のinactivityTimetouに値を設定することで期待することが実現できそうなのですが、Silverlight対応のWCFサービスだとこれが使えませんでした。
    無理矢理<reliableSession>タグを入れると、サービス参照更新時に「パーサーエラーメッセージ認識されない要素'reliableSessionです。」とエラーが出ます。
    具体的には、以下のような感じです。
    <customBinding>
    <binding name="customBinding0">
    <binaryMessageEncoding maxReadPoolSize="2147483647" maxSessionSize="2147483647" maxWritePoolSize="2147483647">
    <readerQuotas maxDepth="32" maxStringContentLength="5242880"
        maxArrayLength="200000" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    <!-- これを有効にするとエラー(当り前か。。。) <reliableSession enabled="true" inactivityTimeout="00:00:30"/>  -->
    </binaryMessageEncoding>
    <httpTransport maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" />
    </binding>
    </customBinding>

    <customBinding>じゃ無理なんだろう、ということで、他のBindingを片っ端から試していますが、期待する動作をしてこのような設定が可能なものが見つかっていません。
    <netTcpBinding>なんかでもできそうだな、と思ったのですが、<binaryMessageEncoding>にあるようにmaxStringContentLengthも合わせて設定変更したいと考えているのですが、<netTcpBinding>だと使えないらしい。。。

    何か良い方法はないものでしょうか?
    よろしくお願いいたします。
    2009年12月17日 11:19

回答

  • IISの設定で出来ます。
    Windows XP のIISだとASP.NETの状態管理から。デフォルトで20分になっています。
    W2K3,W2K8 はちょっと使える物が手元にないので場所はわかりませんが、同様のものがあるはずです。

    バインディングからKeepAlive をfalse にしないと有効にならないかもです。
    K.Oumi
    • 回答としてマーク awwa500 2009年12月18日 4:25
    • 回答としてマークされていない awwa500 2009年12月18日 4:25
    • 回答としてマーク awwa500 2009年12月18日 5:41
    2009年12月18日 2:20

すべての返信

  • IISの設定で出来ます。
    Windows XP のIISだとASP.NETの状態管理から。デフォルトで20分になっています。
    W2K3,W2K8 はちょっと使える物が手元にないので場所はわかりませんが、同様のものがあるはずです。

    バインディングからKeepAlive をfalse にしないと有効にならないかもです。
    K.Oumi
    • 回答としてマーク awwa500 2009年12月18日 4:25
    • 回答としてマークされていない awwa500 2009年12月18日 4:25
    • 回答としてマーク awwa500 2009年12月18日 5:41
    2009年12月18日 2:20
  • Oumiさま

    教えていただいた方法でできました。
    手元にXPが無かったのでW2K8での確認ですが。
    設定だけでできたんですね。。。とほほ。
    ありがとうございました。

    2009年12月18日 4:29