Met de HttpBrowserCapabilities is het mogelijk om te achterhalen of een "browser" een zoek robot is met de methode Crawler. Om in run time te bepalen of een browser of wel een browser is of wel een zoek robot heb ik deze in twee classen ingedeeld, namelijk in:
- Browser;
- Crawler;
Om in run time te kunnen bepalen of het een browser of een zoekrobot is heb ik een interface gedefinieerd. De classe Browser en Crawler erven van deze interface.
In de interface staat een property met een aantal methodes;
in een client classe maak ik gebruik van deze interface om in run time te kunnen bepalen of het een browser of een zoek robot is.
de code die bepaalt of het een browser of een zoek robot is plaats ik vervolgens in een global.asax file. Ik krijg vervolgens een Null reference error. erg vreemd allemaal. De code heb ik vervolgens weg gehaald en deze geplaatst in een normale *.cs file. Nou doet die het wel.
in de global.asax file ken ik de Request.Browser object ken ik aan de HttpBrowserCompabilitie object van de browser en de crawler classe. maar op de een of andere manier pakt die het niet. dit omdat ik ergens in een aspx.cs het volgende heb neergezet:
eenInterface is in dit geval ofwel een browser of wel een zoekrobot (dit is bekend gemaakt in de global.asax file). en de getName() method returnd een naam terug.
maar dit alles werkt gewoon niet. Hij doet het wel als ik de source code in een *.cs file plaats.
Weet iemand hoe dit in elkaar zit?
- Browser;
- Crawler;
Om in run time te kunnen bepalen of het een browser of een zoekrobot is heb ik een interface gedefinieerd. De classe Browser en Crawler erven van deze interface.
In de interface staat een property met een aantal methodes;
code:
1
2
3
4
5
6
7
| HttpBrowserCapabilities BrowserCapabilities
{
get;
set;
}
//overige methods |
in een client classe maak ik gebruik van deze interface om in run time te kunnen bepalen of het een browser of een zoek robot is.
de code die bepaalt of het een browser of een zoek robot is plaats ik vervolgens in een global.asax file. Ik krijg vervolgens een Null reference error. erg vreemd allemaal. De code heb ik vervolgens weg gehaald en deze geplaatst in een normale *.cs file. Nou doet die het wel.
in de global.asax file ken ik de Request.Browser object ken ik aan de HttpBrowserCompabilitie object van de browser en de crawler classe. maar op de een of andere manier pakt die het niet. dit omdat ik ergens in een aspx.cs het volgende heb neergezet:
code:
1
| string naam = eenInterface.getName(); |
eenInterface is in dit geval ofwel een browser of wel een zoekrobot (dit is bekend gemaakt in de global.asax file). en de getName() method returnd een naam terug.
maar dit alles werkt gewoon niet. Hij doet het wel als ik de source code in een *.cs file plaats.
Weet iemand hoe dit in elkaar zit?