2012-06-06 7 views
2

В скрипаче мы можем поместить контрольные точки с помощью следующих команд: -Как поместить несколько точек останова в скрипач?

[bpv or bpm] Создать точку останова запроса для указанного метода HTTP. Установка этой команды очистит любое предыдущее значение для команды; вызов без параметра приведет к отключению точки останова. BPV POST BPV < - Вызов без параметров, чтобы очистить

[bpu] Создание запроса прерывания для URI, содержащих заданную строку. Установка этой команды очистит любое предыдущее значение для команды; вызов без параметра приведет к отключению точки останова. ГПП /myservice.asmx ГПП

Я хочу, чтобы разбить на запрос, если

а) Если запрос был сделан для http://url_1/dummy1.svc

б) Если запрос сделан для http://url_2/dummy2.svc/DoWork (вызывается из запроса юй АЯКС)

Оба URL-адреса делают запрос POST. Поэтому я попытался с командой bpv POST, но он ломается только для сценария «a».

Я дал bpu http://url_2/dummy2.svc/DoWork и bpv POST команду. Но кажется bpv работы, но не bpu. Если я дам bpv POST и bpu http://url_2/dummy2.svc/DoWork, тогда bpu работает, но не bpv.

Дайте мне знать, как я могу использовать как bpu, так и bpv в то же время?

Как использовать скрипач для захвата обоих запросов URL?

Спасибо,

ответ

3

Перейдите на вкладку Автоответчик.

Добавьте две новые записи с Правилами и ActionText следующим образом:

http://url_1/dummy1.svc   *bpu 
http://url_2/dummy2.svc/DoWork *bpu 

В качестве альтернативы, щелкните Правила> Настройка правил. Прокрутите до OnBeforeRequest и добавьте

if (oSession.HTTPMethodIs("POST")) 
{ 
    // Careful, URLs are Case-Sensitive... 
    if ((oSession.fullUrl == "http://url_1/dummy1.svc") || 
     (oSession.fullUrl == "http://url_1/dummy2.svc/DoWork")) 
    { 
     oSession["X-BreakRequest"] = "script"; 
    } 
} 
+0

Спасибо @ Eric Он работал как масло. – abhishekrvce

0

Глядя на код встроенных правил в Fiddler (типа Ctrl-R в Fiddler), вот как установлены точки останова:

if ((null!=bpRequestURI) && oSession.uriContains(bpRequestURI)) { 
    oSession["x-breakrequest"]="uri"; 
} 

if ((null!=bpMethod) && (oSession.HTTPMethodIs(bpMethod))) { 
    oSession["x-breakrequest"]="method"; 
} 

Эта логика предполагает, что URI и Методические точки останова являются взаимоисключающими. Я не знаю достаточно о создании пользовательских правил, чтобы узнать, может ли быть создано составное правило, которое делает то, что вам нужно.

+0

Они не являются взаимоисключающими, они просто не связаны. – EricLaw

+0

Спасибо! Теперь я знаю, как создавать пользовательские точки останова. –

Смежные вопросы