Domanda

Sto cercando di utilizzare jQuery per fare qualche chiamate AJAX, ma perché ho mappatura wild card (per .NET) in IIS 6 acceso, non sembra funzionare. Disabilitare la mappatura rende tutto magicamente funziona.

Ho messo l'attributo method web su metodi sia in una pagina aspx e di un servizio web ASMX, ma nessuno dei due lavori. Ecco l'URL di esempio che sto usando per la chiamate AJAX:

localhost/UserChecker.aspx/CheckIfUserEmailsExists

localhost/UserChecker.asmx/CheckIfUserEmailsExists

Immagino che deve essere qualcosa con il modo in cui .NET interpreta l'URL, ma io non sono del tutto sicuro perché. Ancora più importante, non sono sicuro di come risolvere il problema, se non per disattivare il mapping jolly! C'è un altro modo ???

Aggiorna

Il CMS sto usando (Kentico) fa alcune URL routing, ma anche se mi salta sopra il percorso nel codice global.asax.cs, ho ancora ottenere un 404.
Grazie in anticipo!

È stato utile?

Soluzione

Con la mappatura jolly su IIS verrà eseguito la richiesta iniziale tramite il gestore jolly prima. Questo sarà fatto prima di qualsiasi riscrittura degli URL (o di instradamento URL) dal vostro CMS.

Credo che questo sia il motivo per cui si stanno ottenendo 404.

Si può anche provare a disattivare "verifica file esiste" casella sulla mappatura jolly per soddisfare lo scenario quando l'URL reale sarà successivamente riscritto per qualcos'altro.

Altri suggerimenti

Questa non è una risposta completa, ma spero che si punta in direzione di una soluzione.

Hai provato l'accesso alla URL direttamente in un browser e utilizzando alcuni punti di interruzione in buona posizione per rintracciare il problema?

Se stai ricevendo 404s che suona come le regole per il routing non funzionano.

[aggiornerò questo se si può dare un po 'di più informazioni circa il comportamento che stai vedendo]

UPDATE

Credo che quello che potrebbe accadere è questo:

Si sta fornendo una mappatura separata per i file con le estensioni (in questi casi aspx e asmx):

localhost / UserChecker.aspx / CheckIfUserEmailsExists

localhost / UserChecker.asmx / CheckIfUserEmailsExists

Queste mappature vengono utilizzati quando si accende il mapping jolly fuori, e il '/' CheckIfUserEmailsExists viene manipolato utilizzati o ignorati. Quando si accende il mapping jolly vostro routing non è informare la vostra applicazione come 'percorso' correttamente.

Se è stato rimosso le estensioni (con mappature jolly accesi) esegue le seguenti operazioni di lavoro?

localhost / UserChecker / CheckIfUserEmailsExists

Aggiungi gli URL appropriati all'elenco di esclusione: Utilizzare i "URL Esclusi" impostazione nel Manager- Sito> scheda Impostazioni. ( base documentazione di aiuto )

Suggerisco controllare l'URL di fuori del proprio framework CMS; Problema deve essere con il percorso URL. No TSURE come stava funzionando senza la mappatura wild card.

domande per capire: 1.Did avete il vostro CMS in esecuzione quando si cerca senza mappatura jolly? 2. Come funziona questo sistema CMS interagire con IIS; IASPI dll? o gestori HTTP / moduli?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top