【问题标题】:Deploy an asmx web service to a shared hosting server将 asmx Web 服务部署到共享托管服务器
【发布时间】:2018-08-19 14:42:54
【问题描述】:

我正在尝试将 C# .net 网络服务部署到共享主机帐户 (arvixe.com)。如何才能做到这一点?我可以在本地运行 web 服务,但是当我通过 FTP 将它上传到服务器时无法运行它。我无权访问服务器上的 IIS。

【问题讨论】:

  • 你能提供更多关于你得到什么错误的细节吗?是 404 还是 500 内部服务器错误?

标签: c# .net sql-server web-services


【解决方案1】:

如果他们在 IIS 中禁用了 .asmx 处理程序映射,那么您的 Web 服务将无法运行。您可以尝试 WCF Web 服务,看看他们是否配置了该服务。如果您需要 XML SOAP 服务,则可以使用ASP.NET WebAPI REST 服务,因为它通常用于支持 javascript 浏览器应用程序,因此更有可能启用。

或者您可以使用 .aspx 页面运行您的 Web 服务,但您必须手动处理请求和响应 XML。

【讨论】:

  • 我返回的是 Json,而不是 XML 所以,不,我不需要 XML SOAP。显然 asp.net Web API 也不起作用 (dfwcraftbeer.com/dbconnect) 查看错误。有没有关于如何通过aspx运行web服务的教程?
  • 没有。但是您只需访问 page_load 中的 HttpContext.Request 读取请求,写入响应,然后调用 HttpContext.Response.End()。你负责解析查询字符串、编写响应头、编写响应正文等。
  • 我刚刚检查了我的主机,但我无法将该文件夹设为应用程序,因为它位于 VPS 上,这是不允许的。 WCF Web 服务是否要求该文件夹是应用程序?
  • Web 服务名作都不需要自己的应用程序。您可以在单个应用程序中添加 WebAPI 控制器、.asmx 文件、WCF .SVC 文件以及其他文件。但是 .asmx 和 WCF 用于 SOAP。如果使用 JSON,要么使用 ASP.NET Web API,要么自己处理 HTTP 请求和响应。
【解决方案2】:

显然,域上的服务器配置有误。我创建了一个子域(而不是使用文件夹)并将 Web 服务放在该子域中,一切都像魅力一样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-04
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    相关资源
    最近更新 更多