[seasar-dotnet:1892] Re: URLを省略した場合WebフォームにDIされない

kubo [E-MAIL ADDRESS DELETED]
2010年 12月 13日 (月) 10:52:26 JST


久保(jflute)です。

> S2HttpModuleを確認してみたのですが、どうやら /hoge/でアクセスした場合、
> S2HttpModule#context_AcquireRequestState
> では
> string componentName = ha.Request.Path;
> が/hoge/default.aspxになっているようです。

なるほど、そういう感じでしたか。
これ貴重な情報ですね。ありがとうございます。

> そうですね。後でS2HttpModuleを変更してみます。
> ありがとうございました。

この方法で回避お願いします。

2010/12/13 Takafumi Yoshida <[E-MAIL ADDRESS DELETED]>:
> いつもお世話になります。吉田(zephiransas)です。
>
> 2010年12月10日18:30 kubo <[E-MAIL ADDRESS DELETED]>:
>> 自分はその機能使ったことないのですが、
>> 取り急ぎ、コメントできることだけ。
>>
>>> <component name="/hoge/Default.aspx" instance="outer" />
>>
>>>> <component name="/hoge/" instance="outer" />
>> <component name="/hoge/Default.aspx" instance="outer" />
>> というように二つ定義してみたらどうなるでしょうか?
>
> 結論から言うとこれはNGでした・・・
>
>> S2HttpModule の context_AcquireRequestState() が
>> その機能の部分のコードだとすると、
>> HttpApplication.Request.Path に合致するコンポーネントが
>> 定義されていれば InjectDependency() と呼び出しているので、
>> 試してみる価値はあるのかなと。
>
> S2HttpModuleを確認してみたのですが、どうやら /hoge/でアクセスした場合、
> S2HttpModule#context_AcquireRequestState
> では
> string componentName = ha.Request.Path;
> が/hoge/default.aspxになっているようです。
>
> ひとまず、diconファイルに
> <component name="/hoge/default.aspx" instance="outer" />
> <component name="/hoge/Default.aspx" instance="outer" />
> と定義して、うまくDIされることを確認しました。
>
>> 逆に、もしそれで動くようであれば、
>> S2HttpModuleをアプリで独自に拡張して、
>> (private になってるので、独自の HttpModuleを作って)
>> /hoge/ の場合に /Default.aspx として処理するなどの
>> 回避ができるようになるかもしれません。
>
> そうですね。後でS2HttpModuleを変更してみます。
> ありがとうございました。
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内