0

我在 C# 中开发了一个 .NET REST Web 服务。虽然我有丰富的 C# 经验,但不幸的是,我对在 Web 托管环境中部署这样的服务并没有太多了解。

由于环境原因,我无法访问 IIS。

托管服务提供商的支持服务向我提供的建议如下:

  1. 创建主域的子域以实现专用的应用程序池(这是主机提供商的要求)
  2. 创建一个 Bin 文件夹来保存我编译的源代码库
  3. 将以下内容添加到 Web.Config 文件中:
 <system.web>
    <httpHandlers>
        <add type="ReportRESTWebService.Service, ReportRESTWebService" verb="*" path="report" />
    </httpHandlers>
</system.web>
<system.webServer>
    <handlers>
        <add name="report" path="report" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="File" requireAccess="Script" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
    </handlers>
    <directoryBrowse enabled="false" />
</system.webServer>

以上将具有为所有 HTTP 动词上的报告资源创建处理程序映射并将该资源上的任何 HTTP 流量转发到我的 ReportRESTWebService.dll 进行处理的效果。

我不清楚的一点是上述是否令人满意,以及我如何测试我给出的建议是否正确。我知道我的站点在本地运行,但我可以访问 IIS,因此我可以控制配置。

希望有人可以提供帮助。

谢谢

4

2 回答 2

0

经过一天的详尽测试后,我采取的步骤(在问题中详细说明)似乎是令人满意的。

需要注意的一点是与您的应用程序池匹配的托管管道模式。未能将其与您的 Web.Config 正确匹配将导致痛苦。

于 2013-04-27T14:08:51.193 回答
0

如果您使用的是 Wcf Rest,那么您可以考虑将其托管为 Windows 服务或自托管服务。 Windows Service http://blogs.msdn.com/b/juveriak/archive/2009/03/15/rest-endpoint-hosted-in-a-wcf-windows-service.aspx

Self hosted Service http://www.c-sharpcorner.com/uploadfile/dhananjaycoder/self-hosted-wcf-rest-service-or-hosting-wcf-rest-service-in-console-application/

于 2013-04-25T09:09:08.210 回答