gpt4 book ai didi

.net - 调用不带 .asmx 扩​​展名的 IIS Web 服务

转载 作者:行者123 更新时间:2023-12-02 05:00:07 24 4
gpt4 key购买 nike

我编写了一个 .NET Web 服务,该服务将由我无法控制的客户端使用(我的服务器是用 PHP 编写的实时服务器的模拟器)。 Web 服务按预期工作,但客户端无法在调用中添加 .asmx 扩​​展名或任何与此相关的扩展名。他们基本上使用 http://localhost/soap/MyWebService而 IIS 预计 http://localhost/soap/MyWebService.asmx 。有没有办法让 IIS 响应不带 .asmx 扩​​展名的请求?

最佳答案

添加通配符映射,它将通过 ASP.NET 路由所有请求:

http://professionalaspnet.com/archive/2007/07/27/Configure-IIS-for-Wildcard-Extensions-in-ASP.NET.aspx

您还需要进行一些 URL 重写,以允许传入请求 http://localhost/soap/MyWebService 映射到 http://localhost/soap/MyWebService .asmx.

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

基本上,您可以将类似以下内容添加到您的 Application_BeginRequest 方法中:

string path = Request.Path;
if (path.Contains("/soap/") && !path.EndsWith(".asmx"))
Context.RewritePath(path + ".asmx");

我还没有测试过它(而且它是一个 HACK),但它应该可以帮助您入门。

关于.net - 调用不带 .asmx 扩​​展名的 IIS Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/609125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com