Bunu biraz araştırıyorum ama bir cevapla karşılaşmadım - web.config dosyasına eklemeden bir HttpHandler programını bir ASP.NET web sitesine eklemenin bir yolu var mı? Bir HttpHandler ekleyerek.NET'te HttpHandler programsal olarak eklemek için herhangi bir yolu?
cevap
Sana yapılandırma dosyalarını
<system.web>
<httpHandlers>...</httpHandler>
</system.web>
isteği sırasında doğrudan IHttpHandler
ekleyerek, otomatik olarak kontrol etmek için bir yol yoktur demek varsayalım.
private void context_PostMapRequestHandler(object sender, EventArgs e)
{
HttpContext context = ((HttpApplication)sender).Context;
IHttpHandler myHandler = new MyHandler();
context.Handler = myHandler;
}
Ve bu otomatik olarak bu istek için işleyici ayarlarsınız: Yani PostMapRequestHandler in the Application Lifecycle üzerine, kendi özel IHttpModule
yılında aşağıdakileri yapardı. Muhtemelen, fiil, fiil vb. Gibi şeyleri kontrol etmek için bunu bir mantık içinde sarmak isteyebilirsiniz. Ama bu nasıl yapılır. pre built configuration handler that the web.confi gr uzak, gizli gelmez ve erişilebilir olması görünmüyor kullanarak Maalesef olsa
http://urlrewriter.codeplex.com
: Ayrıca, bu birçok popüler URL Rewriters gibi çalışır nasıl. IHttpHandlerFactory
adlı bir arabirime dayanır. Sadece bir başlangıç noktası yerine bir işleme noktası olarak kullanılır
Güncelleme tıpkı diğer ıhttphandler gibi kullanılabilir IHttpHandlerFactory
. Bu makaleye bakın. Bir IRouteHandler sınıfını kullanarak
'u etkiler. Teşekkürler Nick - tam olarak aradığım şey budur. –
Bu yaklaşımın durumum için çalışmasında sorun yaşamak. Bir işleyiciyi yeniden atamaya çalıştığım istekler, fiziksel dosyalara veya yapılandırılmış yollardan herhangi birine uymuyor. İsteğinizi eşlemek için hiçbir işleyici bulunmadığından PostMapRequestHandler'ın davamda ateş etmemesi gerekir mi? Bu istekleri tetikleyen son olay "PostResolveRequestCache" ve "context.Handler" işlevini bu ya da herhangi bir önceki olay işleyicisinde sıfırlamaya çalışırsa, göz ardı edilir. – Lobstrosity
“BeginRequest” olay işleyicisinde 'context.RemapHandler()' ('context.Handler' öğesini ayarlamak yerine) 'yi çağırarak çalışmayı başarabildim. – Lobstrosity
yapabilirsiniz.
-
public class myHandler : IHttpHandler, IRouteHandler { public bool IsReusable { get { return true; } } public void ProcessRequest(HttpContext context) { // your processing here } public IHttpHandler GetHttpHandler(RequestContext requestContext) { return this; } }
IRouteHandler Uygulamak
/rotanızı Kayıt yeni sınıfta IRouteHandler arabirimini uygular ve GetHttpHandler
yöntemle
//from global.asax.cs
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(new Route
(
"myHander.axd",
new myHandler()
));
}
Teşekkürler! Tam olarak ihtiyacım olan şey ... – rocky
- 1. Grid için ImageBrush programsal olarak
- 2. HttpHandler
- 3. Yönergeyi programsal olarak açısal
- 4. Programsal olarak arayabileceğim herhangi bir Eclipse refactoring API var mı?
- 5. Java ortamı için AppEngine'i programsal olarak belirleme
- 6. Bağlantıları programsal olarak bir EmberJS görünümünde oluşturun
- 7. SKReferenceNode'u programsal olarak ekleyin
- 8. ViewPager programsal olarak kaydırma
- 9. Erlang: programsal olarak bir uzak düğüm başlatılıyor
- 10. Programsal olarak bir Visual Studio çözümü oluşturun?
- 11. Programsal Olarak DocuSign belgesini onayla
- 12. jWizard'da bir adımı programsal olarak gizleyebilir miyim?
- 13. Programsal Olarak Bir Klasöre İzinler Ekleme
- 14. herhangi bir yolu MD5CryptoServiceProvider
- 15. Göreli Düzenleme programsal olarak gösterilmiyor
- 16. Log4net programsal olarak bir adoAppender yapılandırıyor
- 17. Bir DNS Alanını Programsal Olarak Nasıl Silerim?
- 18. programsal olarak varsayılan bir uygulamayı sıfırla
- 19. NSManagedObjectModel'de programsal olarak oluşturulan NSEntityDescription
- 20. ng mesajlarında mesajın içine minimum/maks. Uzunluğun değerini eklemek için herhangi bir yolu var mı?
- 21. CSS - Ben css yoluyla eklemek için herhangi bir "kolay" yolu olup olmadığını merak tüm div
- 22. HttpHandler IIS 7
- 23. Bir ASP.NET kullanıcısı programsal olarak oturum kapatma
- 24. C# HttpHandler webservice
- 25. Programsal olarak android Marshmallow sürüm
- 26. Programsal olarak ayarlanmış textblock marjı
- 27. Android'de XML kullanarak programsal olarak görünümler oluştur
- 28. UIPkorkntrolünü UIScrollView'e Programsal Olarak Bağlamak
- 29. sqlalchemy eklemek veya güncellemek için kolay yolu?
- 30. Bir SQL Server sorgu planını bir görüntüye programsal olarak dönüştürmenin bir yolu var mı?
ilginç id bu kendim mümkün olup olmadığını görmek ister: kullanarak Asp.Net Webforms sonra burada açıklandığı gibi Webapp web.config UrlRouting yapılandırmaya sahip olmak durumunda. Merak et, neden sadece web.config eklemiyorsun? Bu, yalnızca tek siteyi/uygulamayı değil, tüm IIS – Jammin