none
关于IIS7.5 restful风格的web api出现错误404.0问题(已被搞疯) RRS feed

  • 问题

  • 大家好:

    因为公司更换服务器,就把以前在老机器上面部署的一个应用程序换到新的机器上去,但是怪事就出现了;访问新机上的restful风格的web接口就出现404.0错误;

           但是更奇怪的就是同样是这台机上的另外一个restful风格的应用程序就可以正常访问~~~(都是一个IIS,端口不同个而已) 应用程序池都是独立的,都是4.0,集成模式;我吧正常接口的web.config拷贝到有问题的应用程序下还是不行。网上的各种办法都试过了,没用,所有没办法了,来问问大家。我下面把我的wweb.config贴上来,大家帮我看看。谢谢。

         同样的代码换个机器就不行了,郁闷呀,大家帮帮我,看看什么问题。谢谢

    下面是注册的路由代码:

        void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码
            System.Web.Routing.RouteTable.Routes.Add(new System.ServiceModel.Activation.ServiceRoute("CheckAccount", new System.ServiceModel.Activation.WebServiceHostFactory(), typeof(CheckAccountService)));
            System.Web.Routing.RouteTable.Routes.Add(new System.ServiceModel.Activation.ServiceRoute("CacheService", new System.ServiceModel.Activation.WebServiceHostFactory(), typeof(CacheManger.CacheService)));
    
        }

    下面是web.config

    <?xml version="1.0"?>
    <configuration>
      <system.web>
        <compilation debug="true" targetFramework="4.0"/>
        <webServices>
          <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
          </protocols>
        </webServices>
      </system.web>
    
      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
          <remove name="UrlRoutingModule"/>
          <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        </modules>
       
      </system.webServer>
    
      <system.serviceModel>
    
        <services>   
          <!-- Define any other services here-->
        </services>
    
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
              <serviceMetadata httpGetEnabled="true"/>
              <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information 
    
    -->
              <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
    
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
    
        <standardEndpoints>
          <webHttpEndpoint>
            <standardEndpoint name="" helpEnabled="true" crossDomainScriptAccessEnabled="true" faultExceptionEnabled="true">
            </standardEndpoint>
          </webHttpEndpoint>
        </standardEndpoints>
    
      </system.serviceModel>
    
    </configuration>

    2014年11月8日 20:26

答案