ASP.NET MVC で AsyncOperationManager.CreateOperation メソッドを呼び出すと ActionResult が効かなくなる

理由はわかりませんがクライアントから何らかのリクエストを受け、アクション処理実行中に AsyncOperationManager.CreateOperation メソッドを呼び出すと ViewResult や FileContentResult を返してもクライアントでは何も反応しなくなります。エラーや例外が発生するわけではないのでなかなか原因の発生元がわかりづらいので注意です。

]]>

[SSRS] Tablix の列ヘッダを改ページしても表示させたままにする方法

設定がわかりにくかったのでメモ。

下のような列ヘッダー1行と詳細データ1行の Tablix を配置しているものとします。

列ヘッダーA 列ヘッダーB 列ヘッダーC 列ヘッダーD
詳細データA 詳細データB 詳細データC 詳細データD

 

レポートを表示した際に詳細データに表示される行数が多くなると自動的に改ページされるようになりますが、改ページを行った場合、2ページ目以降も列ヘッダーを表示してほしい場合が多いと思いますが、残念ながらデフォルトでは最初のページにしか表示されません。(改ページさせない設定は Tablix のプロパティにあります)

2ページ目以降も列ヘッダーを表示するために画面の項目を調べていくと一般的に Tablix のプロパティに「すべてのページにヘッダー行を表示する」というチェックボックスを見つけられると思いますので、そのチェックで解決すると思われがちなのですが、このチェックをつけても期待した動作にはなってくれません。(このプロパティがどんな動作をするかはわかりません)

改ページでも列ヘッダーを表示させるには以下の手順を踏む必要があります。

  1. Tablix をクリックして選択
  2. デザイナの下にあるグループペイン(行グループ、列グループのエリア)の「右上」にある「▼」をクリック。(行グループ、列グループの下ではなく右側にあります)
  3. 「詳細設定モード」を選択
  4. 行グループの下に「(静的)」の項目が追加されるのでそれを選択。(列グループにも同様に表示されますが、列ヘッダーを表示させたい場合は行グループの方を選択します。選択するとデザイナ上の Tablix で左上のセルが選択されると思います)
  5. プロパティペインを開き(ない場合は表示メニューから「プロパティ ウインドウ」)、「KeepWithGroup」のプロパティを「After」に、「RepeatOnNewPage」のプロパティを「True」に設定します。
  6. プレビューで動作確認
]]>

SSRS でグラフのサイズを動的に変更する

SSRS やレポートビルダーでグラスのサイズを指定する場合 Size プロパティの Width や Height を変更することになると思います。デザイナ上でドラッグして変更した場合もこの値が変更されます。

しかし、Size プロパティには「式」を設定することができないため、このプロパティではパラメータやフィールドを使って動的にグラフのサイズを変更させることができません。

Size を動的に変更するには「DynamicWidth」と「DynamicHeight」プロパティを使用します。こちらはデータの型に「ReportExpression<ReportSize>」が適用されているので式を埋め込むことができます。

]]>

Silverlight でファイル選択ダイアログ、または保存ダイアログを表示する前にブレークポイントを挿入してデバッガーを起動するとエラーになる

意外とはまるのでメモ。

Visual Studio を使っているとブレークポイントを使ってプログラムの流れをチェックすることはよくあると思いますが、Silverlight で同様にブレークポイントでデバッガーを立ち上げた状態でファイル選択ダイアログなどのコモンダイアログを表示させようとすると SecurityException がスローされます。

同じことを書くのも面倒なので詳しいことは下記のリンク先を参照してください。

ファイル選択、ファイル保存、印刷ダイアログはそれぞれクライアント PC に直接影響するので Silverlight アプリケーション以外でのプロセスでローカルリソースにアクセスするのはだめということみたいです。リソースに影響しないメッセージボックスは例外はスローされません。

]]>

ビルド構成ごとの We.config の作成方法

Visual Studio 2010 からの ASP.NET には Web.config をビルド構成ごとに分けて作成することができます。デフォルトでは「Web.Debug.config」と「We.Release.config」の2つのファイルが作成されており、「.」の中央にある名称がビルド構成の名称と一致するようになっています。

新しいビルド構成を作成すると、対応する Web.config がなくなってしまい、ベースのWeb.config のみが適用されますが、新しいビルド構成に対応した Web.config がほしい場合は Web.config ファイルを右クリックし、「構成変換の追加」を選択することによって新しいファイルを作成することができます。

]]>

[コミケ] わんくまさん?7

すみません、毎度のごとく告知を忘れてしまっていました orz。いや、ほら、年末はいそがしいっていうじゃないですか。

 

第1巻から皆勤で描き続けていつの間にか7巻目になりましたプログラミング言語擬人化本です。そのときそのときで描くメンバーが変わっていくので今回は誰が描いているのかいまいちわかっていません (と描いていて著者リストあったの思い出しました。いや、見てもあまりわかりません orz)

今回やるのかやらないのかわからなかったので放置していたらいつの間にかやることになっていて描くかどうか迷いました。私が知ったのはやると決まってから1か月後だったので(^^;)。でもまあせっかく皆勤でやっているのであまり時間はなかったんですが描くことにしました。ネタ出しから仕上げまで 6P を2日で。多分こんな短期間でやったのは初めてじゃないかなーと。いつもは1か月ぐらいかけて描いているんですけどね。別に絵描きを仕事にしているわけじゃないので結構描くのに時間がかかるんですよ orz。

今回かなり手荒に描いたのできちんと印刷できているのか心配です。私はまだ実物見ていません。というか5巻目から完成品はまだ見ていません orz。確か2、3巻目も実物見ないまま描き続けていたのでモアレとか気づかないまま描き続けていたという失態をしていたりとか…。今回はえんぴつツールオンリーで描くという毎回挑戦的なことをやっているのでどうなっていることやら…。

ちなみに完成本を欲しいという方はコミケ以外でもわんくま勉強会などで買えるかもしれません。でも買えないかもしれません。詳しい情報ははつねさんに聞くといいです。私は完成本の管理をしていなので(^^;)

]]>

IISにASP.NETアプリケーションのインポートメニューを追加する

【環境】

  • Windows Server 2008 R2 SP1
  • IIS 7.5

【内容】

ASP.NETアプリケーションをIISに配置する際にIISの「アプリケーションのインポート」を使えば余計なファイルをコピーせずに配置できるのですが、既定ではこのメニューはついていなかったんですね。

「アプリケーションのインポート」その他展開メニューを追加するには「Web配置ツール」をインストールする必要があります。Web配置ツールは以下のリンク先からダウンロードできます。また、Web PI からもインストールすることもできます。

]]>