Question

Je suis en train d'écrire un site simple (ASP.NET v4), qui appellera Windows Search, trouver un fichier spécifique et le retourner à l'utilisateur. Je l'ai mis en place ce qui suit comme un exemple: il appelle le service Windows Search sur « remoteserver », et renvoie le chemin de « somefile.txt »:

OleDbConnection conn = new OleDbConnection();

conn.ConnectionString = "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';";

OleDbCommand cmd = conn.CreateCommand();


cmd.CommandText = string.Format(
            "SELECT System.ItemPathDisplay, System.ItemType FROM " +
            " sytelhp.systemindex WHERE SCOPE='file://remoteserver/archive' AND CONTAINS(\"System.FileName\", " +
            " '\"*{0}*\"')", "somefile.txt");


conn.Open();

OleDbDataReader rdr = cmd.ExecuteReader();

string result=rdr[0].ToString();

.. et cela fonctionne très bien sur l'environnement de développement Visual Studio 2010, « résultat » contient le chemin du fichier. Cependant, si je le déployer sur le serveur IIS7 local (en cours d'exécution sur le serveur 2008), je reçois cette erreur:

The parameter is incorrect. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.OleDb.OleDbException: The parameter is incorrect.

Je suis à une perte où aller. Que dois-je faire pour IIS7 ou le code, ou les deux pour le faire fonctionner? Encore une fois, cela fonctionne très bien dans les VS2010 (testé sur Windows 7 et Windows Server 2008).

Était-ce utile?

La solution

Je suppose que vous exécutez sur Vista ou plus OS et l'IIS fonctionne sur le serveur 2008 ou plus récent? Essayez Provider=Search.CollatorDSO.1 (note 0,1 ).

Modifier : Vous devez utiliser un compte d'utilisateur différent pour la recherche de travail (non par défaut « de service réseau » un d'exécution de l'application de asp.net sous). Voir les commentaires pour plus d'informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top