アプリ版:「スタンプのみでお礼する」機能のリリースについて

C#のASP.NETで運用していますが、
static SortedListを使って、メモリに保持しておいて、
レスポンスを早くするようにしていますが、

if (_SortedList.ContainsKey(str)) return (ArrayList)_SortedList[str];

とデータを取得しようとすると、
なぜかインデックスが重複しているわけでもないのに、

「配列のオフセットおよび長さが範囲を超えているか、カウンタがソース コレクションのインデックスから最後までの要素の数より大きい値です。」

とエラーが発生します。

なぜエラーとなるのでしょうか?

またASP.NETでメモリ上に保持する方法は
static以外にあるのでしょうか?

A 回答 (1件)

ASP.NETにはそれほど詳しいわけではありませんが。



sortedList.itemで出る例外はこちら
http://msdn.microsoft.com/ja-jp/library/system.c …
ArrayListのものはこちら
http://msdn.microsoft.com/ja-jp/library/system.c …

メッセージからして、ArgumentOutOfRangeException が発生しているように見えます
http://msdn.microsoft.com/ja-jp/library/system.a …
これはSortedList.Itemでは発生しません。

なので、 (ArrayList)_SortedList[str] が返っていった先での使い方に問題があるように思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています