2017-09-21 1 views
0

J'essaie d'appeler un script linqpad à partir d'un autre script linqpad mais il a tendance à être juste. L'indice est un processus asynchrone donc je ne suis pas sûr de ce que je fais mal. Je n'ai pas de Dumps non plus alors je ne suis pas sûr de ce qui se passe. Je sais que l'indice fonctionne parce qu'il fonctionne bien.linqpad Dans le script parent Util.complile et exécuter le sous-script async se bloque sur l'exécution

void Main() 
{ 
var testPass = new TestObject(); 

var compiledQuery = Util.Compile(@".\TestSubScript.linq", false); 
var retVal = compiledQuery.Run(QueryResultFormat.Html, testPass); 
retVal.AsString(); 

} 

et l'indice se présente comme suit

async Task Main(TestObject input) 
{ 
"In sub script".Dump(); 
// bunch of asnyc calls 
} 
+0

Obtenez-vous le même résultat si vous essayez la dernière version bêta? En outre, vous devrez marquer TestObject comme [Serializable] (bien que vous devriez recevoir une erreur si vous ne le faites pas). –

+0

oui TestObject est marqué comme [Sérialisable] et réside dans le script mes extensions, et je peux transmettre des valeurs à ma fonction. Je vais essayer la version bêta. Est-ce encore marqué comme fonctionnalité bêta? Je ne pouvais pas trouver de documentation sur ce qui est bêta ou ce qui est pris en charge – McFrank

+0

à côté du débordement de pile sur toutes les extensions et la page de ressources du site Web sur la façon d'utiliser le Util.Run – McFrank

Répondre

0

J'ai eu un Util.ReadLine(). J'avais oublié un Util.ReadLine() que j'utilisais pour demander des détails sur lesquels lancer la requête. Une fois que j'ai passé dans l'objet de données correct pour utiliser le code que j'avais défini pour contourner cet Util.ReadLine() le script a fonctionné comme prévu.