WCf休息安装问题

时间:2011-09-15 20:30:42

标签: c# .net wcf

我使用net framework 4和IIS 6创建了一个wcf Rest服务。我在全局asa中使用路由表。 它在我的电脑上工作正常。当我 在Qa中安装服务不起作用。

申请服务时,我收到404 错误。

问题是IIS的ISAPI过滤器无法在请求和代码之间进行映射。

为IIS应用程序创建单独的池。 请指教。

网络配置

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <trust level="Full" originUrl="" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </modules>
  </system.webServer>
  <system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
    <standardEndpoints>
      <webHttpEndpoint>
        <standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true"/>
      </webHttpEndpoint>
    </standardEndpoints>
  </system.serviceModel>
</configuration>

的Global.asa

 void Application_Start(object sender, EventArgs e)
        {
          RegisterRoutes();

        }

        private void RegisterRoutes()
        {
            WebServiceHostFactory factory = new WebServiceHostFactory();
            RouteTable.Routes.Add(new ServiceRoute("Data", factory, typeof(DataHandler)));
            RouteTable.Routes.Add(new ServiceRoute("UserData", factory, typeof(UserData)));
            RouteTable.Routes.Add(new ServiceRoute("SetupData", factory, typeof(SetupData)));

        }

1 个答案:

答案 0 :(得分:1)

如果您要在IIS 6中使用路由,则需要对路由进行一些特殊考虑。 Here is an article走过它们。如果你还没有照顾好这些东西,当你尝试使用你的路线时,你会得到404.