كيفية إزالة "VsDebuggerCausalityData" البيانات من الصابون الرسالة ؟

StackOverflow https://stackoverflow.com/questions/32877

سؤال

لدي مشكلة حيث واردة الصابون الرسائل من عميل معين يتم وضع علامة على أنها غير صالحة و رفض من قبل لدينا XML جدار حماية الجهاز.يبدو الحمولة الإضافية البيانات يتم إدراجها من قبل Visual Studio;نحن نفكر بيانات إضافية قد تسبب مشكلة ب/ج نراه "VsDebuggerCausalityData" في هذه الرسائل ولكن ليس في الآخرين المرسلة من عميل مختلف هو عدم وجود مشكلة.انها نقطة انطلاق ، على أي حال.

سؤالي هو: كيف يمكن للعميل إزالة هذه البيانات الإضافية و لا تزال تعمل من VS ؟ لماذا VS وضعه هناك على الإطلاق ؟

شكرا

هل كانت مفيدة؟

المحلول

سريع جوجل يكشف عن أن هذا ينبغي التخلص منه الحصول عليها إضافة إلى ويب.التكوين أو التطبيق.التكوين من أجل تطبيقها.

<configuration>
  <system.diagnostics>
    <switches>
       <add name="Remote.Disable" value="1" />
    </switches>
  </system.diagnostics>
</configuration> 

المعلومات هو تصحيح المعلومات التي تلقي الخدمة يمكن استخدامها للمساعدة في تتبع الأمور مرة أخرى إلى العميل.(ربما, وأنا على التخمين قليلا)

  • اقترحت متابعة السؤال لتحديد كانت سحر التبديل في الواقع يأتي من.

نصائح أخرى

من أجل إزالة 'VsDebuggerCausalityData' تحتاج وقف de Visual Studio تشخيص WCF باستخدام هذا الأمر:

VS 2008 -> c:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE>vsdiag_regwcf.exe -u VS 2010 -> c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE>vsdiag_regwcf.exe -u

آمل أن يكون هذا مساعدة لك أو أشخاص آخرين.

داريل الجواب لم يكن العمل بالنسبة لي.كل مطور له علاقة ggrocco الجواب.

انتهى كتابة MessageInspector, إضافة هذا الرمز إلى BeforeSendRequest الطريقة:

int limit = request.Headers.Count;
for(int i=0; i<limit; ++i)
{
    if (request.Headers[i].Name.Equals("VsDebuggerCausalityData"))
    {
        request.Headers.RemoveAt(i);
        break;
    }
}

استنادا إلى إجابة من قبل @Luiz Felipe لقد جاء مع هذا قليلا أكثر قوة الحل:

var vs = client.Endpoint.EndpointBehaviors.FirstOrDefault((i) => i.GetType().Namespace == "Microsoft.VisualStudio.Diagnostics.ServiceModelSink");
if (vs != null)
{
    client.Endpoint.Behaviors.Remove(vs);
}

أو استخدام "البدء دون التصحيح" في Visual Studio.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top