2013-10-10 40 views
1

由于某种原因,我无法通过此错误。我已经完成搜索,但找不到任何vb示例。我在做这个web.config错了什么?“ServiceHost仅支持类服务类型”

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 

的Web.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> 
+0

我编辑了您的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

回答

9

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

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

谢谢先生! – atrueresistance

+0

当我重命名服务时,这个问题刚刚发生在我身上。显然,dident会影响svc文件,所以在改变之后就像你说的那样,它像一个魅力:)。 – JensB

+0

谢谢你..我为我工作.... –

相关问题