"ServiceHost only supports class service types"



由于某种原因,我无法克服此错误。我已经完成了搜索,但找不到任何 vb 示例。我在这个web.config上做错了什么?

SalesTracking.svc

<%@ ServiceHost Language="VB" Debug="true" Service="SalesTracking.ISalesTracking" CodeBehind="SalesTracking.svc.vb" %>

SalesTracking.svc.vb

Imports GlobalDir
Imports System.Web.Script.Serialization
Imports System.Reflection
Imports System.Data.SqlClient
Imports System.Web.Configuration
Imports System.Threading
Imports System.ServiceModel.Activation

<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _
Public Class WebService
   Implements ISalesTracking

   Public Function GetDataUsingDataContract(ByVal composite As ClientSideData) As ClientSideData Implements ISalesTracking.GetDataUsingDataContract
   End Function
End Class

网络.config

<?xml version="1.0"?>
<configuration>
    <appSettings/>
    <connectionStrings>
        <add name="dbconstring" connectionString="Data Source="" providerName="System.Data.SqlClient" />
    </connectionStrings>
  <system.web>
      <authentication mode="Windows" />
      <authorization>
          <allow roles="Domain Users" />
          <deny users="*" />
      </authorization>
          <customErrors mode="Off"/>
      <compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
  </system.web>
  <system.serviceModel>
      <behaviors>
          <serviceBehaviors>
              <behavior name="SalesTracking.WebServiceBehavior">
                  <!-- 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="true"/>
              </behavior>
          </serviceBehaviors>
          <!-- start addition -->
          <endpointBehaviors>
              <behavior name="ServiceAspNetAjaxBehavior" >
                  <enableWebScript/>
              </behavior>
          </endpointBehaviors>
          <!-- end addition -->
      </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
      <services>
          <service behaviorConfiguration="SalesTracking.WebServiceBehavior"
            name="SalesTracking.WebService" >
              <endpoint address="localhost" behaviorConfiguration="ServiceAspNetAjaxBehavior"
                binding="webHttpBinding" bindingConfiguration="NewBinding0" name="SalesTracking.WebService"
                contract="SalesTracking.ISalesTracking">
              </endpoint>
              <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
          </service>
      </services>
  </system.serviceModel>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>
</configuration>

Service属性必须是实现,而不是接口。

<%@ ServiceHost Language="VB" Debug="true" Service="SalesTracking.WebService" ....

最新更新