ASMX Renvoyer une chaîne pure

J’ai un service Web ASP.NET (.asmx). Mon service est défini comme suit:

[System.Web.Services.WebService(Namespace = "http://tempuri.org/")] [System.Web.Services.WebServiceBinding(ConformsTo = System.Web.Services.WsiProfiles.BasicProfile1_1)] public class MyService : System.Web.Services.WebService { [System.Web.Services.WebMethod] public ssortingng GetResult() { ssortingng result = ""; int day = System.DateTime.UtcNow.Day; if ((day % 1) == 1) result = "odd"; else result = "even"; return result; } } 

Actuellement, si j’appelle cette méthode de service, j’obtiens le résultat suivant:

  even 

Mon problème est, je dois retourner juste la partie de chaîne. Je ne veux PAS renvoyer le XML d’emballage. Comment est-ce que je fais ceci avec un .asmx?

Merci!

.asmx -il qu’il s’agisse d’un service Web .asmx ? Je veux dire qu’en excluant l’enveloppe SOAP, vous dites essentiellement “ce n’est pas un service Web SOAP”, alors pourquoi ne pas aller plus loin et en faire une page .aspx normale au lieu d’un service Web .asmx .

En tant que page, ce que vous essayez de faire serait sortingvial. Supprimez toutes les balises de la page, utilisez Response.Headers pour modifier les en-têtes de réponse en conséquence, Response.Write() pour générer votre texte brut et Response.End() pour fermer la réponse.

Utilisez json

ajoutez l’atsortingbut requirejs à votre service Web et à votre méthode Web pour obtenir ce que vous voulez.

Atsortingbut de service Web: [ScriptService]

Atsortingbut de méthode Web: [ScriptMethod(ResponseFormat = ResponseFormat.Json)]

Lire un échantillon ici

Pourquoi voulez-vous vous débarrasser de la partie XML? Le code généré par le proxy nécessite un format commun pour lui permettre de comprendre et de lire les données renvoyées. Supprimer le XML rend vos données de retour illisibles par le proxy client.