2016-09-11 7 views
3

「きれいな」ASP.NETの外観を知りたい。たとえば、ASP.NETで独自のフレームワークを構築したいのですが、どのアセンブリを含めるべきか分かりません。WebFormsまたはMVC以外のASP.NETフレームワークを記述していますか?

ASP.NETについて説明しているすべての書籍では、WebFormsまたはMVCのいずれかが記述されていますが、ASP.NETレイヤについては説明していません。

ASP.NETのどの部分が下の画像で意味されていますか?

img

+0

おそらくあなたは[ASP.net Web API](http://www.asp.net/web-api) –

+1

@Stefan Kertです。間違いなくマイクロソフトではなく、コミュニティの枠組みでした。 – vmalyuta

+0

NancyFxはそのような例ですが、Fubu MVCは別のものです。 – vcsjones

答えて

3

MSDNのASP.NET Page HandlerおよびMvcHandler Classを参照して、WebフォームとMVCの両方をハンドラで実装します。

HandlersMSDN: Introduction to HTTP Handlers)は、ASP.NETを使用する最も軽量な方法です。あなたは知っている要求に関するすべてを知っているHttpRequestインスタンスにアクセスできます。ハンドラで

、あなたがこののHttpRequestを読んで、あなたのアプリケーションロジックを適用し、 ProcessRequest(HttpContext context)IHttpHandlerさん HttpContextパラメータが持っていることはHttpResponseメンバーインスタンスthrought結果書き込み:ASP.NETの

namespace HandlerExample 
{ 
    public class MyHttpHandler : IHttpHandler 
    { 
     // Override the ProcessRequest method. 
     public void ProcessRequest(HttpContext context) 
     { 
     context.Response.Write("<H1>This is an HttpHandler Test.</H1>");  
     context.Response.Write("<p>Your Browser:</p>"); 
     context.Response.Write("Type: " + context.Request.Browser.Type + "<br>"); 
     context.Response.Write("Version: " + context.Request.Browser.Version); 
     } 

     // Override the IsReusable property. 
     public bool IsReusable 
     { 
     get { return true; } 
     } 
    } 
} 

たくさんすべてではないにせよ、System.Web名前空間に存在します。

+0

良い出発点をありがとう。 – vmalyuta

2

ASP.NETのWebフォームとMVCは、基本的に、モジュール、ハンドラー、およびその周りの生態系から成るASP.NETエンジンの上に構築されています。

実際、モジュールとハンドラを記述することで独自のフレームワークを作成できます。リクエストを受け取り、ハンドラ(ハンドラ)を処理したり、既存のメッセージ(モジュール)を調整する独自のコードを書くことができます。

+0

「ASP.NETエンジン」を検出するための出発点を提供できますか? 私は感謝します – vmalyuta

+0

私はよくこの[MSDNページ](https://msdn.microsoft.com/en-us/library/bb398986.aspx)とその参照を使用しました。 –

2

私たちはいくつかのプロジェクトでNancyFXを使用しました。それは確かに調べる価値があります。シンプルさとパフォーマンスは素晴らしいです。あなたはそれを独立してホストすることも、IISの上でasp.netのようにホストすることもできます。そしてそれはまたクロスプラットフォームです。

+0

ありがとうございます。それは私が探しているものです。しかし、質問が管理者によって編集されたため、私はあなたの答えを正しいものとしてマークすることはできません。 – vmalyuta

関連する問題