2010-04-17 5 views
0

J'essaie de maîtriser Solrnet et d'interagir avec un site ASP.NET avec un serveur Solr. Toutefois, l'exemple d'application (sur le référentiel de code) est basé sur MVC, est-ce que quelqu'un connaît une version dans ASP.NET plain vanilla?Exemple Solrnet /ASP.NET sans MVC

Merci

+0

Interaction entre asp.net et Solr serait le même quel que soit MVC ou WebForms, non? – R0MANARMY

+0

Pas nécessairement, AFAIK le modèle de requête webforms etc. est différent de MVC. – Mikos

+0

@Mikos: Oui, obtenir des paramètres de la page et les transmettre sera différent, mais je suppose que ce n'est pas la partie de l'interaction que vous essayez de comprendre. – R0MANARMY

Répondre

4

Il n'y a pas de différences majeures vraiment:

  • Initialiser la bibliothèque dans votre Application_Start() comme dans l'exemple d'application MVC.
  • La façon la plus simple de l'utiliser dans un code-behind est d'utiliser le localisateur de services pour obtenir la principale interface SolrNet (par exemple var solr = ServiceLocator.Current.GetInstance<ISolrOperations<MyDocumentClass>>()), (dans MVC, il est facile à la place d'injecter l'interface en utilisant un conteneur IoC)
  • Ensuite, Vous pouvez utiliser cette instance pour exécuter n'importe quelle requête, mettre à jour des documents, etc. Dans l'exemple d'application MVC, un ModelBinder est utilisé pour obtenir les paramètres de recherche de la chaîne de requête, mais c'est une fonctionnalité MVC. .
  • Rabattre les résultats de la requête à la page (je l'utilise surtout une foreach simple, vous pouvez également essayer ObjectDataSource)
+0

ok merci, donnera ce coup de feu. Apprécier ton aide. – Mikos

+0

@Mauricio Scheffer: Il n'est pas très difficile de faire aussi de l'injection de dépendance dans les formulaires Web, vous ne pouvez pas (pour autant que je sache) faire l'injection de dépendances du constructeur. http://code.google.com/p/autofac/wiki/AspNetIntegration – R0MANARMY

+0

@ r0manarmy: exactement; Si vous ne pouvez pas prendre le contrôle de l'instanciation, vous pouvez seulement * le contourner *. Pas la vraie chose. –