IRouteHandlerにWebフォーム:ルーティングの要求を必要とするHttpContext.ユーザー

StackOverflow https://stackoverflow.com/questions/1534162

質問

私は追加しようとしているかの基本路線へAsp.Net Webフォームアプリ(走行下でのIIS7統合モード):のご請求へ http://mydomain.com/foo/ 良野の落合にて設立されました結果、動的なページhttp://mydomain.com/foopage.aspx).

私RouteHandlerるすべてのことだそうですルーティングます。

    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
     var page = System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath("~/foo.aspx", typeof(MyApp.Web.Foo)) as MyApp.Web.Foo;
     return page as IHttpHandler;
    }

問題は、私のRouteHandlerのGetHttpHandler方法、すべてのインスタンスの、現在のユーザ(requestContext.HttpContext.ユーザーのシステム。ます。HttpContext.ます。ユーザー)がnullになります。しかし残念foo.aspxニーズにどうのこうの、現在のユーザでのログイン制御の役割、など)でレンダリングのページを投げnull参照例外をスローしました。私の推測ではこれらのルートハンドラは焼成前にAsp.Net が、ワイヤーのHttpContextユーザー情報あらゆるアイデアの仕事ではないか。

PS-Iこれを実現できることによってサーバーです。移ページ http://mydomain.com/foo/default.aspx.利用したいルーティングのためにこのようなものではなく気なフォルダclutteringえて仕方ありません。

よろしく!

役に立ちましたか?

解決 2

から受けることになってしまい図がこのです。

のように この質問, 私のルートでオンラインのルートの起源終了です。aspx(http://mydomain.com/foo-origin.aspxが失敗した場合もしなかった(http://mydomain.com/foo-origin/).

にMSDN条項の設定ルーティングとwebフォーム ばく変化少ないウェブconfigが出ることを設定する必要がありま runAllManagedModulesForAllRequests trueのモジュールノード:

<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
  </system.webServer>
</configuration>

現在でswimmingly.

他のヒント

<のhref = "https://stackoverflow.com/questions/400236/asp-net-routing-do-custom-routes-completely-skip-everything-in-the-global-asax#への回答を参照してください。 400289" >このの質問、非常によく似ています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top