2012-09-25 19 views
11

मैं विजुअल स्टूडियो का उपयोग कर रहा हूं और मेरे पास एक परियोजना के रूप में एएसपीनेट एप्लिकेशन है और एक अन्य प्रोजेक्ट के रूप में एक वेब सेवा है। मैं अपने एएसपीनेट एप्लिकेशन में वेब सेवा का उपयोग कर रहा हूं। मेरे webservice कोड में कुछ प्रकार की समस्या है। लेकिन मैं एएसपीनेट एप्लिकेशन से वेब सेवा पर निरंतर डीबग करने में असमर्थ हूं। मैंने एप्लिकेशन और वेब सेवा दोनों में ब्रेक पॉइंट डाला लेकिन ब्रेक पॉइंट वेब सेवा में सक्रिय नहीं हुआ और यह मुझे कनेक्शन दिखाता है त्रुटि। मैं स्थानीयहोस्ट पर होस्टिंग करते समय यह कैसे कर सकता हूं?वेब सेवा को डीबग कैसे करें?

+0

वे IIS में या वी.एस. परीक्षण द्वारा की मेजबानी कर रहे हैं हम बी सर्वर? यदि आईआईएस, स्थानीय मेजबान या रिमोट पर? –

+0

यदि आपको कनेक्शन त्रुटि मिल रही है तो आप वेब सेवा में किसी भी कोड तक नहीं पहुंच रहे हैं, यही कारण है कि वेब सेवा में ब्रेकपॉइंट्स को हिट नहीं किया जा रहा है। क्या आप वाकई पता सही है? – Tobsey

+0

@ गारलैंड: दोनों आईआईएस दोनों स्थानीयहोस्ट –

उत्तर

15

यदि आप स्टार्टअप प्रोजेक्ट के रूप में वेब एप्लिकेशन चला रहे हैं, तो किसी अन्य डीबग उदाहरण में वेब सेवा चलाने का प्रयास करें।

आप वेब सेवा परियोजना, डीबग पर राइट-क्लिक करके यह कर सकते हैं -> नया इंस्टेंस प्रारंभ

+0

यह सही तरीका है। –

+0

बिल्कुल सही! मैंने अभी इसका परीक्षण किया और यह एक शॉट में काम किया। –

2

क्या वेब सेवा दूरस्थ कंप्यूटर पर चल रही है, यदि आपको वेब सेवा के लिए दूरस्थ डीबग सेट करने की आवश्यकता है।

+0

वेब सेवा और एप्लिकेशन दोनों एक ही कंप्यूटर पर हैं –

+1

क्या यह एक डब्ल्यूसीएफ वेब सेवा है? यदि ऐसा है तो आपको इसके लिए डिबगिंग सक्षम करना होगा - http://msdn.microsoft.com/en-us/library/bb157687.aspx – NiladriBose

+0

नहीं, यह नहीं wcf है। –

7

आपको डीबगर को w3wp (आईआईएस प्रक्रिया) से संलग्न करना चाहिए।

यहां एक link है जो आपकी मदद कर सकता है।

+0

मैं एएसपीनेट विकास सर्वर पर परीक्षण कर रहा हूं। –

+0

क्या आपने विधि में ब्रेक पॉइंट सेट किया है? – Cybermaxs

3

आप स्थानीय सिस्टम में डिबग करने के लिए चाहते हैं, आप एक से अधिक परियोजनाओं को शुरू करने के लिए सेट कर सकते हैं। आप समाधान गुणों द्वारा एकाधिक स्टार्टअप सेट कर सकते हैं। आशा है कि यह मदद

1

सेवा को डीबग करने का प्रयास करें और देखें कि यह ब्रेकपॉइंट हिट करता है या नहीं। बस उस प्रोजेक्ट को सेट करें जिसमें इसकी मुख्य परियोजना होने के लिए सेवा है और सेवा को मुख्य प्रारंभ पृष्ठ बनने के लिए सेट करें।

यदि यह ब्रेकपॉइंट पर नहीं पहुंचता है तो शायद यह सभी प्रतीकों को लोड नहीं करता है। ऐसा होता है यदि प्रोजेक्ट सेट किया गया है, तो कहें, रिलीज कॉन्फ़िगरेशन और डीबग नहीं।

0

क्या आप कृपया जांच सकते हैं कि आप अपनी वेब सेवा सेवा संदर्भ जोड़ते हैं या नहीं, अन्य आप अपने वेब सेवा फ़ंक्शन तक नहीं पहुंच सकते हैं। मैं इस किया गया है इस यह

नीचे है जैसे अपने प्रोजेक्ट में वेब सेवा का उपयोग कर रहा हूँ अपने वेब सेवा कोड

[WebService(Namespace = "http://tempuri.org/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    [System.ComponentModel.ToolboxItem(false)] 
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService] 
    public class JsonData : System.Web.Services.WebService 
    { 

     [WebMethod(Description = "")] 
     [ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)] 
     public StateData[] GetStateByCountryID(int ID) 
     { 
      StateData objStateData = new StateData(); 
      LMGDAL.db_LMGEntities dbData = new db_LMGEntities();     
      var data = (from con in dbData.tblStates 
         where con.State_CountryID == ID 
         select new StateData 
         { 
          StateID = con.StateID, 
          StateName = con.StateName 
         }).ToList(); 
      return data.ToArray(); 
     } 

तो मैं अपने asp.net वेब प्रपत्र

मेरी रूप में इस कोड को सेवा संदर्भ जोड़ने

<script type="text/javascript"> 
    $(function() { 

     $("#ddlCountry").change(function() { 
      var countryID = $("#ddlCountry").val(); 
      $.ajax({ 
       type: "POST", 
       url: "JsonData.asmx/GetStateByCountryID", 
       contentType: "application/json; charset=utf-8", 
       dataType: 'json', 
       data: '{ID:"' + countryID + '"}', 
       success: function (msg) { 
        var data = msg.d; 
        var stateData = ""; 
        $.each(data, function (index, itemdata) { 
         stateData += "<option value='" + itemdata.StateID + "' > " + itemdata.StateName + " </option>"; 
        }); 
        $("#ddlState").empty(); 
        $("#ddlState").append("<option value='0'>-Select State-</option>"); 

        $("#ddlState").append(stateData); 
       }, 
       error: function() { 
        alert('Faild To Retrieve States.'); 
       } 
      }); 
     }); 

मुझे लगता है कि यह तुम्हारी मदद करेगा

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