首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >要求休息的员额不工作

要求休息的员额不工作
EN

Stack Overflow用户
提问于 2014-06-04 05:10:20
回答 2查看 938关注 0票数 0

这是我的WCF Rest Api,它使用POST。

代码语言:javascript
运行
复制
 [OperationContract]
 [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, UriTemplate = "/Test/{id}")]
        void Test(string id);

我从我的REST DHC客户端通过url拨打这个电话。

代码语言:javascript
运行
复制
http://localhost/RestTestWebService.svc/json/Test/abs

现在,我得到了错误方法不允许。

我遗漏了什么,也没有我在日志中注意到的信息。

这是我的web.config-

代码语言:javascript
运行
复制
  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <!--<authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
    </authentication>-->

    <membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>

    <profile>
      <providers>
        <clear />
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>

    <roleManager enabled="false">
      <providers>
        <clear />
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>

  </system.web>

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>




  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="WebHttpBehavior">
          <webHttp />
        </behavior>
      </endpointBehaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>

        <behavior name="RestTestWebServiceBehaviors">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>      
    </behaviors>

    <services>
      <service name="RestTest.RestTestWebService" behaviorConfiguration="RestTestWebServiceBehaviors" >
        <endpoint name="json" address="json" binding="webHttpBinding" behaviorConfiguration="WebHttpBehavior" contract="RestTest.IRestTestWebService"/>

        <!--<endpoint name="json" address="" binding="basicHttpBinding" contract="RestTest.IRestTestWebService"/>-->
      </service>
    </services>




    <serviceHostingEnvironment multipleSiteBindingsEnabled="true"  />
  </system.serviceModel>
</configuration>
EN

回答 2

Stack Overflow用户

发布于 2014-06-05 00:34:50

如果您正在IIS上承载您的服务。请检查您的WebDav配置中是否允许使用"Post“动词

  1. 在IIS中,选择您的网站
  2. 选择Handler映射
  3. 从映射列表中选择WebDAV
  4. 单击“请求限制”
  5. 然后切换到谓词选项卡并高亮显示所有谓词。
  6. 在IIS中重新启动应用程序。

如果它仍然不起作用,请尝试以下方法。

  • 在IIS中,禁用WebDav。

  • 卸载WebDav模块。 服务器管理器-> Server ->公共HTTP功能-> WebDAV发布,并为客户端计算机控制面板->卸载程序->打开或关闭-> IIS ->万维网服务->公共HTTP feautre -> WebDAV发布。
票数 1
EN

Stack Overflow用户

发布于 2014-06-05 08:50:37

Uri必须指定主机号。必须指定在uritemplate:"...RestTestWebService.svc / Test / abs"中描述的服务名称后面的Uri

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24029471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档