से एक HTTP हैंडलर डिबगिंग मैं डिबग करने के लिए एक HTTP दृश्य स्टूडियो और तोड़ने बिंदु में हैंडलर हिट नहीं हो रही है कोशिश कर रहा हूँ। क्या किसी को विजुअल स्टूडियो में HTTP हैंडलर डीबग करने के बारे में कोई जानकारी है?दृश्य स्टूडियो
मैं एक विंडोज 7 मशीन पर VS 2010 प्रीमियम, .NET 4.0 का उपयोग कर रहा हूँ। मेरी वेब अनुप्रयोग में मैं /HTTPHandler/TrackingHandler.cs
निम्नलिखित मेरी वेब config में है फ़ाइल में एक HTTP हैंडलर है:
<system.webServer>
<handlers>
<add name="TrackingHandler" path="/tx/*" verb="*" type="ProjectNamespace.TrackingHandler" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>
मेरे HTTP हैंडलर
नीचे की तरह दिखता हैnamespace ProjectNamespace
{
public class TrackingHandler : IHttpHandler
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
//Breakpoint on the very first line below
string tracker = Path.GetFileName(context.Request.PhysicalPath);
.......
}
}
}
में किसी भी यादृच्छिक पृष्ठ का उपयोग करके मैं अपना वेब एप्लिकेशन शुरू करता हूं विजुअल स्टूडियो डीबग बिल्टिन वेब सर्वर का उपयोग कर। मैं फिर /tx/निर्देशिका और उसके बाद कुछ यादृच्छिक स्ट्रिंग को इंगित करने के लिए URL को मैन्युअल रूप से संपादित करता हूं। उदाहरण के लिए मेरा वर्तमान यूआरएल http: // localhost: 53699/tx/sdfs जैसा दिखता है। मैंने सोचा कि इसे प्रोसेसरेक्वेस्ट() की पहली पंक्ति पर ब्रेकपॉइंट खींचना चाहिए, लेकिन ऐसा नहीं है।
मैं किसी भी विचार के लिए आभारी रहूंगा।
ओ ओ
संपादित करें: अतिरिक्त जानकारी
प्रोजेक्ट गुण में, वेब टैब में, मैं चयनित पृष्ठ खोलने के न करें। बाहरी एप्लिकेशन से अनुरोध की प्रतीक्षा करें। मैं भी एक System.Web.HttpException हो रही थी, तो मैं डिबग के लिए चला गया -> अपवाद -> साझा भाषा क्रम और System.Web के साथ बॉक्स को चेक किया।
निम्नलिखित मेरा स्टैक ट्रेस है। ऐसा लगता है कि यह मेरे हैंडलर को नहीं मिल रहा है। क्या मैंने इसे अपने वेब कॉन्फ़िगरेशन में गलत तरीके से परिभाषित किया है ??
> System.Web.dll!System.Web.StaticFileHandler.GetFileInfo(string virtualPathWithPathInfo, string physicalPath, System.Web.HttpResponse response) + 0x1f7 bytes
System.Web.dll!System.Web.StaticFileHandler.ProcessRequestInternal(System.Web.HttpContext context = {System.Web.HttpContext}, string overrideVirtualPath) + 0xc7 bytes
System.Web.dll!System.Web.DefaultHttpHandler.BeginProcessRequest(System.Web.HttpContext context, System.AsyncCallback callback = {Method = {System.Reflection.RuntimeMethodInfo}}, object state = null) + 0x15c bytes
System.Web.dll!System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() + 0x2d7 bytes
System.Web.dll!System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication.IExecutionStep step = {System.Web.HttpApplication.CallHandlerExecutionStep}, ref bool completedSynchronously = true) + 0xb9 bytes
System.Web.dll!System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(System.Exception error) + 0x13e bytes
System.Web.dll!System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext context, System.AsyncCallback cb, object extraData) + 0xf8 bytes
System.Web.dll!System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest wr = {Microsoft.VisualStudio.WebHost.Request}) + 0x1a2 bytes
System.Web.dll!System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest wr) + 0x7d bytes
System.Web.dll!System.Web.HttpRuntime.ProcessRequest(System.Web.HttpWorkerRequest wr) + 0x47 bytes
WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Request.Process() + 0x17b bytes
WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Host.ProcessRequest(Microsoft.VisualStudio.WebHost.Connection conn = {System.Runtime.Remoting.Proxies.__TransparentProxy}) + 0x6c bytes
[Appdomain Transition]
WebDev.WebHost40.dll!Microsoft.VisualStudio.WebHost.Server.OnSocketAccept(object acceptedSocket) + 0x83 bytes
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(object state) + 0x2d bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 bytes
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() + 0x5a bytes
mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() + 0x147 bytes
mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() + 0x2d bytes
[Native to Managed Transition]
धन्यवाद। मुझे प्रक्रियाओं की सूची में ** aspnet_wp.exe ** नहीं मिला। मैंने अपने मूल प्रश्न में संपादन में उल्लिखित _ "एक पृष्ठ न खोलें" _ विकल्प के साथ वीएस में इसे शुरू करने का प्रयास किया। स्टैक ट्रेस से मुझे लगता है कि यह मेरे कोड में भी नहीं पहुंच रहा है। मैं हमेशा ** व्यवस्थापक ** के रूप में वीएस चल रहा हूँ। –
AttachTo addin VS.NET 2015 –