- PR -

WebService.Sessionのサンプルはうまく動いていますか?

1
投稿者投稿内容
アスロン
会議室デビュー日: 2001/12/04
投稿数: 2
お住まい・勤務地: 兵庫県
投稿日時: 2001-12-04 15:13
はじめて投稿させていただきます。
当方、.Net SDK Beta2をWindows 2000 Serverに導入して、Webサービスの勉強をして
おります。.Net Framework SDK Documentationにある、WebService.Session Property
のサンプルをIISの公開フォルダに置いて呼び出してみたのですが、常に1が返ってきます。
呼び出し側は、Utilクラスのインスタンスを生成して、SessionHitCounter()を呼び出しているだけの単純なものです。
以下のサンプルで、Session["HitCounter"]を増加させるために何か設定が必要なのでしょうか?議題でなくて恐縮ですが、ご存知の方がいらっしゃればお教えくださいませ。
(↓インデントがうまく表示されないので全角スペースを使っています)

<%@ WebService Language="C#" Class="Util" %>

using System.Web.Services;

public class Util: WebService {
 [ WebMethod(Description="Per session Hit Counter",EnableSession=true)]
 public int SessionHitCounter() {
  if (Session["HitCounter"] == null) {
   Session["HitCounter"] = 1;
  }
  else {
   Session["HitCounter"] = ((int) Session["HitCounter"]) + 1;
  }
  return ((int) Session["HitCounter"]);
 }
}
_________________
♪♪ アスロン ♪♪
ikkoh
会議室デビュー日: 2001/12/04
投稿数: 1
投稿日時: 2001-12-04 19:14
セッションを管理するためにCookieを利用するのであれば、クライアント側のアプリケーションでCookieを保持するためのコードを記述する必要があるのではないでしょうか。

ex
---
 public Form1()
 {
  InitializeComponent();

   // WebServiceのプロキシ生成
   service1 = new localhost.Service1();

   // プロキシにCookieContainerを設定
   service1.CookieContainer = new System.Net.CookieContainer();
 }

 private void button1_Click(object sender, System.EventArgs e)
 {
  textBox2.Text = service1.SessionHitCounter().ToString();
 }

アスロン
会議室デビュー日: 2001/12/04
投稿数: 2
お住まい・勤務地: 兵庫県
投稿日時: 2001-12-10 11:01
返事が遅れ、申し訳ありません。以下を追加することで、
同じセッション中においてカウントアップされました。

// プロキシにCookieContainerを設定
service.CookieContainer = new System.Net.CookieContainer();

どうもありがとうございました。

_________________
♪♪ アスロン ♪♪

[ メッセージ編集済み 編集者: アスロン 編集日時 2001-12-10 11:02 ]
1

スキルアップ/キャリアアップ(JOB@IT)