" ServiceHost的只支持类服务类型" [英] "ServiceHost only supports class service types"

查看:1100
本文介绍了" ServiceHost的只支持类服务类型"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

出于某种原因,我不能让过去的这个错误。我做了搜索,但找不到任何VB实例。我是什么不对的web.config文件做什么?

SalesTracking.svc

 <%@ ServiceHost的语言=VB调试=真正的服务=SalesTracking.ISalesTrackingcodeBehind =SalesTracking.svc.vb%GT;

SalesTracking.svc.vb

 进口GlobalDir
进口System.Web.Script.Serialization
进口的System.Reflection
进口System.Data.SqlClient的
进口System.Web.Configuration
进口的System.Threading
进口System.ServiceModel.Activati​​on
<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allowed)> _
公共类的WebService
   实现ISalesTracking   公共职能GetDataUsingDataContract(BYVAL复合体ClientSideData)由于ClientSideData器具ISalesTracking.GetDataUsingDataContract   结束功能
末级

的Web.config

 &LT;?XML版本=1.0&GT?;
&LT;结构&gt;
    &LT;的appSettings /&GT;
    &LT;&是connectionStrings GT;
        &LT;添加名称=dbconstring的connectionString =数据源=的providerName =System.Data.SqlClient的/&GT;
    &LT; /&是connectionStrings GT;
  &LT;&的System.Web GT;
      &LT;身份验证模式=窗口/&GT;
      &LT;授权&GT;          &LT;让角色=域用户/&GT;
          &LT;拒绝用户=*/&GT;
      &LT; /授权&GT;
          &LT;的customErrors模式=关/&GT;      &LT;编译调试=真正的严=false的明确=真targetFramework =4.0/&GT;  &LT; /system.web>
  &LT; system.serviceModel&GT;
      &LT;&行为GT;
          &LT; serviceBehaviors&GT;
              &LT;行为NAME =SalesTracking.WebServiceBehavior&GT;
                  &LT;! - 为了避免泄露的元数据信息,下面设置为false的价值和部署之前删除上面的元数据终结点 - &GT;
                  &LT; serviceMetadata httpGetEnabled =真/&GT;
                  &LT;! - 要接收故障中的异常细节进行调试,下面设置为true值。设置为false部署之前,以避免泄露异常信息 - &GT;
                  &LT; serviceDebug includeExceptionDetailInFaults =真/&GT;
              &LT; /行为&GT;
          &LT; / serviceBehaviors&GT;          &LT;! - 开始加成 - &GT;
          &LT; endpointBehaviors&GT;
              &LT;行为NAME =ServiceAspNetAjaxBehavior&GT;
                  &LT; enableWebScript /&GT;
              &LT; /行为&GT;
          &LT; / endpointBehaviors&GT;
          &LT;! - 端添加 - &GT;      &LT; /行为&GT;
    &LT; serviceHostingEnvironment multipleSiteBindingsEnabled =真/&GT;
      &LT;服务和GT;
          &LT;服务behaviorConfiguration =SalesTracking.WebServiceBehavior
            NAME =SalesTracking.WebService&GT;              &LT;端点地址=localhost的behaviorConfiguration =ServiceAspNetAjaxBehavior
                绑定=的WebHttpBindingbindingConfiguration =NewBinding0NAME =SalesTracking.WebService
                合同=SalesTracking.ISalesTracking&GT;
              &LT; /端点&GT;
              &LT;端点地址=MEX绑定=mexHttpBinding合同=IMetadataExchange接口/&GT;
          &LT; /服务&GT;
      &LT; /服务&GT;  &LT; /system.serviceModel>
  &LT; system.webServer&GT;
    &LT;模块runAllManagedModulesForAllRequests =真/&GT;
  &LT; /system.webServer>&LT; /结构&gt;


解决方案

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

 &LT;%@ ServiceHost的语言=VB调试=真正的服务=SalesTracking.WebService......

For some reason I can't get past this error. I've done searching, but can't find any vb examples. What am I doing wrong with this 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

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>

解决方案

Service attribute must be the implementation, not interface.

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

这篇关于&QUOT; ServiceHost的只支持类服务类型&QUOT;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆