Web 服务部署到生产服务器
Web Service Deployment to Production Server
我在本地机器上的 IIS 中有一个老式的 .NET Web 服务 运行:
http://localhost/MyService/MyService/Service1.asmx
我添加了一个 Web 引用并将其 属性 设置为动态,这样我就可以简单地更改 Web.config 文件中的 URL。在部署到登台服务器之前,我这样配置它:
<client>
<endpoint address="http://staging.myserver.net/WSTest/WSTest/Service1.asmx"
binding="basicHttpBinding" bindingConfiguration="Service1Soap"
contract="ServiceReference1.Service1Soap" name="Service1Soap" />
</client>
我可以像这样在服务器上访问它并且它有效:
http://staging.myserver.net/MyService/service1.asmx
但是,我需要像下面这样解决它,因为这是外部客户端访问它的方式:
http://staging.myserver.net/MyService/MyService/service1.asmx
我没有发现临时服务器上的 IIS 配置设置有任何问题。我错过了什么吗?
一般来说,您可以自由地在网站下设置应用程序,甚至可以嵌套。
Website
|
--Application MyService
|
--Application MyService (here you host the .asmx)
就像您发现的那样,它很容易实现。
但是,有一些危险信号,
- .asmx 太旧了,大多数人升级到 REST/Graph 基于 web API.
- 嵌套应用程序仍然很少见(或不必要)。在大多数情况下,您的目标应该是缩短 URLs。但由于是您的外部用户需要这种 URL 模式,您可能无法说服他们。
我在本地机器上的 IIS 中有一个老式的 .NET Web 服务 运行:
http://localhost/MyService/MyService/Service1.asmx
我添加了一个 Web 引用并将其 属性 设置为动态,这样我就可以简单地更改 Web.config 文件中的 URL。在部署到登台服务器之前,我这样配置它:
<client>
<endpoint address="http://staging.myserver.net/WSTest/WSTest/Service1.asmx"
binding="basicHttpBinding" bindingConfiguration="Service1Soap"
contract="ServiceReference1.Service1Soap" name="Service1Soap" />
</client>
我可以像这样在服务器上访问它并且它有效:
http://staging.myserver.net/MyService/service1.asmx
但是,我需要像下面这样解决它,因为这是外部客户端访问它的方式:
http://staging.myserver.net/MyService/MyService/service1.asmx
我没有发现临时服务器上的 IIS 配置设置有任何问题。我错过了什么吗?
一般来说,您可以自由地在网站下设置应用程序,甚至可以嵌套。
Website
|
--Application MyService
|
--Application MyService (here you host the .asmx)
就像您发现的那样,它很容易实现。
但是,有一些危险信号,
- .asmx 太旧了,大多数人升级到 REST/Graph 基于 web API.
- 嵌套应用程序仍然很少见(或不必要)。在大多数情况下,您的目标应该是缩短 URLs。但由于是您的外部用户需要这种 URL 模式,您可能无法说服他们。