ডাব্লুসিএফ পরিষেবা নিরীক্ষণের জন্য কীভাবে ফিডলার ব্যবহার করবেন


107

আমার কাছে একটি ডাব্লুসিএফ পরিষেবা আছে যা একটি জটিল ধরণের গ্রহণ করে এবং কিছু ডেটা ফেরত দেয়। পরিষেবায় আগত অনুরোধগুলি কেমন দেখায় তা দেখতে আমি ফিডলারটি ব্যবহার করতে চাই। ক্লায়েন্টটি। নেট কনসোল অ্যাপ্লিকেশন যা কোনও পরিষেবা রেফারেন্স প্রক্সি ব্যবহার করে। ফিডলারের সাথে কি এটি সম্ভব? আমি এই সরঞ্জামটিতে নতুন এবং অনুরোধ নির্মাতার সাথে ডেটা পোস্ট করার জন্য এটি কেবল অতীতে ব্যবহার করেছি।


4
ডাব্লুসিএফ ট্রেসিং পরিষেবাগুলি সেগুলি দেখার জন্য একটি দুর্দান্ত জিইউআই সহ নিজেরাই বেশ ভাল। msdn.microsoft.com/en-us/library/ms751526.aspx
কেনি

উত্তর:


148

আপনাকে এটি আপনার ওয়েবকনফাইগে যুক্ত করতে হবে

<system.net>
  <defaultProxy>
    <proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
  </defaultProxy>
</system.net>
  1. তারপরে ওয়েদার সার্ভার মেশিনে ফিডলার শুরু করুন।
  2. সরঞ্জাম | ক্লিক করুন ফিডলারের বিকল্পগুলি => সংযোগগুলি => পোর্টটি 8888 হিসাবে সামঞ্জস্য করুন (
  3. ঠিক আছে, তারপরে ফাইল মেনু থেকে ট্র্যাফিকটি ক্যাপচার করুন।

এগুলি সবই, তবে ফিডলারটি বন্ধ করার পরে ওয়েবকনফিগ লাইনগুলি সরাতে ভুলবেন না, কারণ আপনি এটি না করলে একটি ত্রুটি ঘটবে।

রেফারেন্স: http://fiddler2.com/docamentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy


1
ধন্যবাদ, এটি আমাকে সত্যই সহায়তা করেছে। আমার ভুলটি http://প্রক্সি ঠিকানায় নির্দিষ্ট করা হয়নি । বাকি সব একই ছিল, যেমনটি আপনি উল্লেখ করেছেন।
জনি_ডি

1
এটি আমার পক্ষে কাজ করে নি M আমার পরিস্থিতিটি হ'ল সার্ভারটি আইআইএস .5.৫, ক্লায়েন্টটি একটি কনসোল অ্যাপ্লিকেশন my আমার কনসোল অ্যাপ্লিকেশনটিতে, আমি একটি ওয়েব-সার্ভিস পদ্ধতি কল করেছি যা আমার বিকাশকারী কম্পিউটারে আইআইএস on.৫ এ স্থাপন করা হয়েছে with "লোকালহোস্ট" এর সাথে প্রতিস্থাপন করা হচ্ছে আমার কম্পিউটারের নামটি আমার পক্ষে কাজ করেছিল।
ইয়র্ক

5
ধন্যবাদ, এটি আমার পক্ষে কাজ করেছে। উপায় দ্বারা, আমার ক্ষেত্রে আমি ক্যাপচার WCF ক্লায়েন্ট ট্রাফিক করার চেষ্টা স্থানীয় হোস্ট , আপনার সেটিংস যোগ করা থেকে তাই পৃথক্, এটি থেকে URL পরিবর্তন করা প্রয়োজন http://localhost/abc.svcথেকেhttp://HOSTNAME/abc.svc
cateyes

1
কিছু কারণে আমার পক্ষে কাজ হয়নি (আমি .svc ওয়েব পরিষেবা ব্যবহার করছি)। অবশেষে আমার কার্যসংক্রান্ত ব্যবহার করতে ছিল ক্যাচার উইন্ডোগুলির
Ren

2
অসাধারণ! @ ক্যাটিজের পরামর্শটি আমার জন্য তা করেছে
আলেকজান্ডার ডার্ক

9

ফিডলার ইনবাউন্ড অনুরোধগুলির চেয়ে আউটবাউন্ড অনুরোধগুলি শোনেন যাতে আপনি ফিডলার ব্যবহার করে আপনার পরিষেবায় আগত সমস্ত অনুরোধগুলি পর্যবেক্ষণ করতে সক্ষম হবেন না।

ফিডলারের সাথে আপনি যে সেরাটি পেতে যাচ্ছেন তা হ'ল আপনার কনসোল অ্যাপ্লিকেশন দ্বারা তৈরি হওয়া সমস্ত অনুরোধগুলি দেখার ক্ষমতা (ধরে নিলে অ্যাপটি অন্য কোনও পাইপলাইন ব্যবহার না করে ওয়েব অনুরোধ উত্পন্ন করে)।

আপনি যদি এমন একটি সরঞ্জাম চান যা আরও শক্তিশালী (তবে ব্যবহার করা আরও কঠিন) যা আপনাকে সমস্ত আগত অনুরোধগুলি নিরীক্ষণের অনুমতি দেয়, আপনার ওয়্যারশার্কটি পরীক্ষা করা উচিত।

সম্পাদন করা

আমি সংশোধন করেছি. ফিডলারকে বিপরীত প্রক্সি হিসাবে কনফিগার করার দিকনির্দেশ পোস্ট করার জন্য এরিক আইনকে ধন্যবাদ !


তথ্যের জন্য ধন্যবাদ। আমাকে asmx পরিষেবাদির বিবরণ পৃষ্ঠার অনুরূপ অনুরোধ কাঠামোটি দেখতে হবে। ডাব্লুসিএফ এই বিকল্প আছে বলে মনে হয় না।
কোয়াডভিচস

9
এটি পুরোপুরি সঠিক নয় (এবং "শক্তি" বিষয়গত, কারণ ওয়্যারশার্ক ট্র্যাফিক পরিবর্তন করতে পারে না)। ইনবাউন্ড ট্র্যাফিক কীভাবে শুনতে হবে সে সম্পর্কে আরও তথ্যের জন্য fiddler2.com/fiddler/help/reverseproxy.asp দেখুন ।
এরিকলও

এরিক - আমি আপনাকে একচেটিয়া উত্তরে বলে রাখার পরামর্শ দিচ্ছি।
চিজো

9

সবেমাত্র এই সমস্যাটি ছিল, আমার জন্য কাজটি হ'ল লোকালহোস্ট.ফিডলার:

 <endpoint address="http://localhost.fiddler/test/test.svc"
            binding="basicHttpBinding" 
            bindingConfiguration="customBinding" 
            contract="test" 
            name="customBinding"/>

6

বিভিন্ন ব্যবহারের ক্ষেত্রে মন্তব্যে / উত্তরে উল্লিখিত সতর্কতামূলক সংহতকরণ।

বেশিরভাগ ক্ষেত্রে, দেখুন http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp

  • আপনার অ্যাপ্লিকেশনের আগে ফিডলার শুরু করুন
  • কোনও কনসোল অ্যাপ্লিকেশনে আপনাকে এগুলি নির্দিষ্ট করার প্রয়োজন হতে পারে না proxyaddress:

    <proxy bypassonlocal="False" usesystemdefault="True" />
  • আইআইএস-এ হোস্ট করা একটি ওয়েব অ্যাপ্লিকেশন / কিছুতে, আপনাকে এটি যুক্ত করতে হবে proxyaddress:

    <proxy bypassonlocal="False" usesystemdefault="True" proxyaddress="http://127.0.0.1:8888" />
  • .NET যখন কোনও অনুরোধ করে (কোনও পরিষেবা ক্লায়েন্টের মাধ্যমে বা HttpWebRequest, ইত্যাদি) এটি সর্বদা ইউআরএলযুক্ত ফিডলার প্রক্সিটি বাইপাস করবে localhost, সুতরাং আপনাকে অবশ্যই মেশিনের নামের মতো একটি উলাম ব্যবহার করতে হবে বা আপনার 'হোস্ট' ফাইলটিতে কিছু তৈরি করতে হবে (এ কারণেই কিছু localhost.fiddlerবা http://HOSTNAMEকাজ করে)
  • আপনি যদি নির্দিষ্ট করে থাকেন proxyaddressতবে ফিডলারটি চালু না থাকলে আপনাকে অবশ্যই এটিটি আপনার কনফিগার থেকে সরিয়ে ফেলতে হবে, বা আপনার অ্যাপ্লিকেশনগুলির যে কোনও অনুরোধগুলি একটি ব্যতিক্রম ছুঁড়ে ফেলবে যেমন:

    কোনও সংযোগ তৈরি করা যায়নি কারণ টার্গেট মেশিনটি সক্রিয়ভাবে এটি প্রত্যাখ্যান করেছে 127.0.0.1:8888

  • উত্পাদনের প্রক্সি বিভাগটি সরাতে কনফিগার রূপান্তরগুলি ব্যবহার করতে ভুলবেন না

4

এত সহজ, আপনার প্রয়োজন কেবল কনফিগার ক্লায়েন্টের ঠিকানা পরিবর্তন করা: মেশিনের নাম বা আইপিতে 'লোকালহোস্ট' পরিবর্তনের পরিবর্তে


1

যোগাযোগগুলি প্রেরণকারী ক্লায়েন্টের উপরে যদি আপনার নিয়ন্ত্রণ থাকে তবে এটি সহজ। আপনাকে যা করতে হবে তা হ'ল ক্লায়েন্ট-সাইড পরিষেবা ক্লাসে এইচটিটিপি প্রক্সি সেট করা।

আমি এটি করেছি, উদাহরণস্বরূপ, একটি স্মার্টফোনে চলমান কোনও ওয়েব পরিষেবা ক্লায়েন্টের সন্ধান করতে। আমি সেই ক্লায়েন্ট-সাইড সংযোগে ফিডলারের আইপি / পোর্টের সাথে সেট করেছিলাম, যা নেটওয়ার্কের একটি পিসিতে চলছিল। এরপরে স্মার্টফোন অ্যাপ্লিকেশন তার বহির্গামী সমস্ত যোগাযোগ ওয়েব সার্ভিসে, ফিডলারের মাধ্যমে পাঠিয়েছে।

এটি পুরোপুরি কাজ করে।

যদি আপনার ক্লায়েন্টটি ডাব্লুসিএফ ক্লায়েন্ট হয়, তবে প্রক্সিটি কীভাবে সেট করবেন তার জন্য এই প্রশ্নোত্তর দেখুন ।

আপনার কাছে ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনটির কোডটি সংশোধন করার ক্ষমতা না থাকলেও আপনি আপনার ক্লায়েন্টের ব্যবহৃত ওয়েবস্রাইসেস স্ট্যাকের উপর নির্ভর করে প্রশাসনিকভাবে প্রক্সি সেট করতে সক্ষম হতে পারেন।


1

স্ট্যান্ডার্ড ডাব্লুসিএফ ট্র্যাকিং / ডায়াগনস্টিক্স

যদি কোনও কারণে আপনি ফিদলারের কাজ করতে অক্ষম হন বা অনুরোধগুলি অন্য কোনও উপায়ে লগ করতে চান তবে অন্য বিকল্পটি হ'ল স্ট্যান্ডার্ড ডাব্লুসিএফ ট্রেসিং কার্যকারিতা ব্যবহার করুন। এটি এমন একটি ফাইল তৈরি করবে যাতে একটি দুর্দান্ত দর্শক রয়েছে।

ডক্স

Https://docs.microsoft.com/en-us/dotnet/framework/wcf/sample/tracing-and-message-logging দেখুন

কনফিগারেশন

আপনার কনফিগারেশনে নিম্নলিখিতগুলি যুক্ত করুন, c:\logsউপস্থিত থাকা নিশ্চিত করুন , পুনর্নির্মাণ করুন এবং অনুরোধ করুন:

  <system.serviceModel>
    <diagnostics>
      <!-- Enable Message Logging here. -->
      <!-- log all messages received or sent at the transport or service model levels -->
      <messageLogging logEntireMessage="true"
                      maxMessagesToLog="300"
                      logMessagesAtServiceLevel="true"
                      logMalformedMessages="true"
                      logMessagesAtTransportLevel="true" />
    </diagnostics>
  </system.serviceModel>

  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Information,ActivityTracing"
        propagateActivity="true">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add initializeData="C:\logs\TracingAndLogging-client.svclog" type="System.Diagnostics.XmlWriterTraceListener"
        name="xml" />
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

0

ব্রাউজারে সিলভার লাইট অ্যাপ্লিকেশন থেকে পরিষেবাতে পরিষেবা কল পর্যবেক্ষণের জন্য আমি তারের হাঙ্গর সরঞ্জাম ব্যবহার করেছি। লিঙ্কটি চেষ্টা করুন পরিষ্কার তথ্য দেয়

এটি আপনাকে পুরো অনুরোধ এবং প্রতিক্রিয়ার সামগ্রীগুলি নিরীক্ষণ করতে সক্ষম করে।


0

আমি কেবল ব্র্যাড রেম থেকে প্রথম উত্তরটি চেষ্টা করেছি এবং বেসিকএইচটিপিবাইন্ডিংয়ের অধীনে ওয়েবকনফিগের এই সেটিংয়ে এসেছি:

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding bypassProxyOnLocal="False" useDefaultWebProxy="false" proxyAddress="http://127.0.0.1:8888" ...
        ...
      </basicHttpBinding>
    </bindings>
    ...
<system.serviceModel>

আশা করি এটি কাউকে সাহায্য করবে।


0

আপনি এইচটিটিপি ডিবাগারের ফ্রি সংস্করণ ব্যবহার করতে পারেন।

এটি প্রক্সি নয় এবং আপনার ওয়েবকনফাইগে কোনও পরিবর্তন করার দরকার নেই।

এছাড়াও, এটি উভয়ই দেখাতে পারে; আগত এবং বহির্গামী HTTP অনুরোধ। এইচটিটিপি ডিবাগার ফ্রি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.