已启用WCF AJAX的服务创建成功,但是方法返回404

问题描述

这是我的第一个WCF服务,因此请谅解。 :)

  • 我有一个现有的ASP.Net网站,到目前为止,该网站一直运行良好。
  • 使用VS 2017,我添加一个启用了WCF Ajax的新服务。
  • VS创建了.svc和.cs文件,并且还对web.config进行了修改
  • 我确保在服务器角色中启用了HTTP激活。

通过浏览器导航到服务URL时,将加载服务页面。好。 当我尝试添加“ / DoWork”以访问认创建的方法时,出现404错误

我一直在疯狂尝试其他教程建议。什么也没做。 我一定缺少简单的东西。服务器级别可能未启用某些功能? 我认为VS添加的WCF代码可以正常工作,对吧?

为什么要404 ??? 我想念什么???

感谢您的帮助和问候,

Udar

解决方法

这是web.config的相关部分

  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior name="NativeAppConnectorWCFAspNetAjaxBehavior">
          <enableWebScript />
        </behavior>
      </endpointBehaviors>
    </behaviors>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
      multipleSiteBindingsEnabled="true" />
    <services>
      <service name="NativeAppConnectorWCF">
        <endpoint address="" behaviorConfiguration="NativeAppConnectorWCFAspNetAjaxBehavior"
          binding="webHttpBinding" contract="NativeAppConnectorWCF" />
      </service>
    </services>
  </system.serviceModel>
,

如果使用webhttp绑定,则需要将webHttp添加到端点行为:

<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:orientation="vertical"
    tools:parentTag="androidx.appcompat.widget.LinearLayoutCompat">

    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <ImageView
            android:layout_width="88dp"
            android:layout_height="88dp"
            android:layout_gravity="center"
            android:src="@drawable/dashed_circle" />

        <TextView
            android:id="@+id/value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            tools:text="12" />

        <TextView
            android:id="@+id/default_value"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            tools:text="6" />
    </FrameLayout>

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="-3dp"
        tools:text="Защита" />
</merge>

这是我的配置文件,并且启用了帮助文档:

<style name="Widget.ParamView" parent=""> <!-- parent="android:Widget" ??? -->
    <item name="valueTextAppearance">@style/TextAppearance.AppCompat</item>
    <item name="defaultValueTextAppearance">@style/TextAppearance.AppCompat</item>
    <item name="labelTextAppearance">@style/TextAppearance.AppCompat</item>
</style>

enter image description here

如果问题仍然存在,请随时告诉我。