2010-07-02 7 views
1

J'envoie une requête POST en utilisant HTTPWebRequest du client au serveur Web Cassini sur l'ordinateur distant configuré pour accepter les demandes distantes. Mais, je ne spécifie pas un fichier dans le cadre de l'URL. J'envoie la demande directement au serveur comme dans "http://172.34.142.12:8080/". Cependant, je suis incapable de recevoir une réponse correcte et d'obtenir une erreur "405 Méthode non autorisée". J'utilise Cassini 3.5. Des suggestions sur la raison pour laquelle cela pourrait se produire?Envoi d'une requête POST avec l'URI de la requête '/' au serveur Web Cassini entraînant une erreur 405. Pourquoi?

+0

juste pour confirmer ce que vous sous-entendez - GET appels du même hôte distant à la même URL fonctionnent bien? En outre, les appels POST fonctionnent-ils si vous êtes sur la même machine? J'ai remarqué les appels POST et PUT à Cassini échouant pour moi aussi, mais je n'ai jamais creusé pourquoi (ils étaient à localhost, donc probablement une raison sans rapport) –

+0

Je n'ai pas essayé avec GET. Cependant, le POST ne fonctionne pas même sur la même machine. Je reçois toujours le même problème. J'ai besoin d'utiliser POST, puisque j'envoie des données directement au serveur, et côté serveur, j'ai modifié Cassini pour traiter les données envoyées, comme créer un nouveau processus basé sur les données. – gofeddy

+0

Pour confirmer: Cela a fonctionné avec GET (sur une machine distante) après avoir modifié du code et joué avec. Cependant, je suis incapable de le faire en utilisant POST comme James l'a dit. – gofeddy

Répondre

1

Cassini est codé en dur pour ne pas accepter les demandes de tout hôte autre que celui qui l'exécute. Il est programmé de cette façon pour des raisons de sécurité.

Si vous avez vraiment besoin de cette fonctionnalité, vous devrez créer votre propre version. Il y a quelques étapes autour de la façon de faire cela, here's one.

+0

La version que j'utilise est celle-ci et accepte également les requêtes distantes: http://blogs.msdn.com/b/dmitryr/archive/2008/10/03/cassini-for-framework-3-5.aspx – gofeddy

1

Mon entreprise fabrique un produit appelé Neokernel qui pourraient vous aider: www.neokernel.com

Le Neokernel est PAS basé sur Cassini. Il s'agit d'un serveur Web ASP.NET professionnel et intégrable dans un petit assemblage autonome avec journalisation, SSL, prise en charge de plusieurs applications ASP.NET, configuration par programmation, prise en charge de répertoires virtuels et exécution d'une application Web exécutée par IIS. Cela fonctionne aussi avec le framework Mono; nous l'avons développé parce qu'il y a un certain nombre de problèmes avec Cassini (et les divers projets qui en découlent).

Questions connexes