Como eu “sem problemas” formato HttpHandler URI?
-
02-07-2019 - |
Pergunta
Eu estou apenas intromissão nos caminhos do serviço web RESTful em C # usando ASP.Net 2.0 e conseguiram (via uma biblioteca de classes, uma referência a dll produzida pelo antigo e algum ajuste do meu web.config) para persuadir um formato URI assim:
http: // localhost / DevelopmentProject / testhandler / input = thisismyinput
Qual unremarkably apenas retorna a entrada como um pedaço de texto com o prefixo esclarecedora "Sua entrada era:"
Eu estava sob a impressão de que eu poderia obter o URI para se tornar ainda mais ensmoothened para algo mais ao longo das linhas de:
http: // localhost / DevelopmentProject / testhandler / thisismyinput
e têm o mesmo resultado, mas não têm idéia de como se livrar do maldito "? Input ="
A entrada para a seção httphandlers do meu web.config é (espaços adicionados para monitores de código):
Estou executando o IIS 5.1 na máquina local, este irá apresentar um problema?
Essencialmente onde estou indo errado?
Graças.
Solução 3
Outras dicas
Uma solução é usar UrlRewriting para reescrever a URL para o que você precisa.
Eu uso http://urlrewriter.net/ fazer todo o meu reescrever, e você poderia configurar algo como esta em seu cenário
<rewriter>
<rewrite
url="DevelopmentProject/testhandler/([\w]+)"
to="DevelopmentProject/testhandler/?input=$1" />
</rewriter>
Esta permaneceria "http: // localhost / DevelopmentProject / testhandler / thisismyinput" na barra de endereço do navegador, ainda processo como "http: // localhost / DevelopmentProject / testhandler / input = thisismyinput"
Você poderia implementar reescrita de URL, usando algo como URLRewriter.net Isso permitirá que você use a sintaxe que você mencionou.
Mude sua configuração de:
Confira o valor de Request.PathInfo em função ProcessRequest do manipulador com uma URL como http:. // localhost / DevelopmentProject / testhandler / thisismyinput
Se isso não fazê-lo, certifique-se de que o IIS 5.1 está a encaminhar todas as solicitações para o aspnet_isapi.dll. (Embora, parece que já é) Esta é a "Configuração ..." botão> guia "Mapeamentos de aplicações" em seu diretório virtual no IIS.