2011-01-02 14 views
5

लौट रहा है मेरे पास एक एएसपी.नेट वेब सेवा (.asmx) है। मेरी सेवा निम्नलिखित की तरह परिभाषित किया गया है:एएसएमएक्स एक शुद्ध स्ट्रिंग

[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 string GetResult() 
    { 
    string result = ""; 

    int day = System.DateTime.UtcNow.Day; 
    if ((day % 1) == 1) 
     result = "odd"; 
    else 
     result = "even"; 
    return result; 
    } 
} 

वर्तमान में, अगर मैं इस सेवा विधि कॉल, मैं निम्नलिखित परिणाम प्राप्त:

<?xml version="1.0" encoding="utf-8"?> 
<string xmlns="http://tempuri.org/">even</string> 

मेरे मुद्दा है, मैं सिर्फ स्ट्रिंग हिस्सा वापस जाने के लिए की जरूरत है। मैं रैपिंग एक्सएमएल वापस नहीं करना चाहता। मैं .asmx के साथ ऐसा कैसे करूं?

धन्यवाद!

उत्तर

4

क्या इसके लिए .asmx वेब सेवा होने की आवश्यकता है? मेरा मतलब है, एसओएपी लिफाफा को छोड़कर आप अनिवार्य रूप से कह रहे हैं कि "यह एक एसओएपी वेब सेवा नहीं है" जैसा कि है, तो इसे एक कदम आगे क्यों न लें और इसे .asmx वेब सेवा के बजाय नियमित .aspx पृष्ठ बनाएं।

एक पृष्ठ के रूप में, आप जो करने की कोशिश कर रहे हैं वह तुच्छ होगा। पृष्ठ से सभी मार्क-अप निकालें, Response.Headers का उपयोग प्रतिक्रिया हेडर को संपादित करने के लिए, Response.Write() को अपने कच्चे पाठ को आउटपुट करने के लिए, और प्रतिक्रिया को बंद करने के लिए Response.End() का उपयोग करें।

+0

जीनियस। यही वह है जिसे मैं ढूंढ रहा था। – user208662

+0

@ user208662: अब मैं खुद को सोच रहा हूं कि एक ही चीज़ '.asmx' वेब विधि में हासिल की जा सकती है। मेरे हिस्से में यह संदेह है, लेकिन मेरा हिस्सा नहीं है। अगली बार जब मैं अपने विकास के माहौल के सामने खुद को ढूंढूं तो मुझे इसका परीक्षण करना होगा और देखें कि मैं किसके साथ आ सकता हूं। – David

+1

@user: आप एक एएसएचएक्स हैंडलर बनाना चाहिए, एएसपीएक्स पेज नहीं। आपको एएसपीएक्स के ऊपरी हिस्से की आवश्यकता नहीं है। – SLaks

2

json उपयोग

अपने वेब सेवा और अपने वेब विधि के लिए आवश्यक विशेषता जोड़ सकते हैं और आप आप क्या चाहते हैं मिलता है।

वेब सेवा विशेषता: [ScriptService]

वेब विधि विशेषता: [ScriptMethod(ResponseFormat = ResponseFormat.Json)]

एक नमूना Here

+0

दुर्भाग्य से, यह दृष्टिकोण काम नहीं करता है :(। मुझे अभी भी एक्सएमएल में प्रतिक्रिया मिलती है। मुझे लगता है कि मैं इसे जेसन में लपेटने की उम्मीद करता हूं। अन्य विचार? – user208662

+0

क्यों? उदाहरण चलने का परिणाम देखें http: //www.williamsportwebdeveloper.com/BookQuery.html –

+1

डेव वार्ड के बारे में एक महान पोस्ट है: http://encosia.com/2010/03/03/asmx-and-json-common-mistakes-and-misconceptions/ – chprpipr

0

पढ़ें क्यों आप XML भाग से छुटकारा पाने के करना चाहते हैं? प्रॉक्सी द्वारा जेनरेट किया गया कोड एक सामान्य प्रारूप की आवश्यकता है ताकि यह लौटाए जा रहे डेटा को समझ और पढ़ सके। एक्सएमएल को स्ट्रिप करना अनिवार्य रूप से क्लाइंट प्रॉक्सी द्वारा आपके रिटर्न डेटा को अपठनीय बनाता है।

संबंधित मुद्दे