无需访问IIS即可部署REST服务

时间:2013-04-25 08:19:37

标签: c# .net rest iis httphandler

我在C#中开发了一个.NET REST Web服务。虽然我有很多C#经验,但遗憾的是我在网络托管环境中部署这样的服务并不太了解。

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

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

  1. 创建主域的子域以实现专用应用程序池(这是主机提供商的要求)
  2. 创建一个Bin文件夹来保存我编译的源代码库
  3. 将以下内容添加到Web.Config文件中:
  4.  <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,因此我可以控制配置。

    希望有人可以提供帮助。

    由于

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

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

需要注意的一点是应用程序池的匹配管理管道模式。如果无法与Web.Config正确匹配,将会导致痛苦。