none
引用wcf服务时出错 RRS feed

  • 问题

  • 引用wcf服务时报错。

    下载“http://localhost:1051/Service.svc”时出错。
    请求失败,错误信息为:
    --
    <html>
        <head>
            <title>无法找到 ServiceHost 指令中作为服务属性值提供的类型“MySqlForNet.Web.Service”。</title>



    IService文件
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.Text;

    namespace MySqlForNet.Web
    {
        // 注意: 如果更改此处的接口名称 "IService",也必须更新 Web.config 中对 "IService" 的引用。
        [ServiceContract]
        public interface IService
        {
            [OperationContract]
            void DoWork();
        }
    }


    Service文件
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.Serialization;
    using System.ServiceModel;
    using System.Text;

    namespace MySqlForNet.Web
    {
        // 注意: 如果更改此处的类名 "Service",也必须更新 Web.config 中对 "Service" 的引用。
        public class Service : IService
        {
            public void DoWork()
            {
            }
        }
    }


    web文件
        <system.serviceModel>
            <behaviors>
                <serviceBehaviors>
                    <behavior name="MySqlForNet.Web.ServiceBehavior">
                        <serviceMetadata httpGetEnabled="true" />
                        <serviceDebug includeExceptionDetailInFaults="false" />
                    </behavior>
                </serviceBehaviors>
            </behaviors>
            <services>
                <service behaviorConfiguration="MySqlForNet.Web.ServiceBehavior"
                    name="MySqlForNet.Web.Service">
                    <endpoint address="" binding="BasicHttpBinding" contract="MySqlForNet.Web.IService">
                        <identity>
                            <dns value="localhost" />
                        </identity>
                    </endpoint>
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                </service>
            </services>
        </system.serviceModel>

    请高人指点一下。

    2009年7月11日 3:01

答案

全部回复

  • 首先要确保 http://localhost:1051/Service.svc 你这个wcf ie可以打开浏览
    2009年7月11日 3:43
    版主
  • wcf ie不能被浏览。

     

    “/”应用程序中的服务器错误。

    无法找到 ServiceHost 指令中作为服务属性值提供的类型“MySqlForNet.Web.Service”。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.InvalidOperationException: 无法找到 ServiceHost 指令中作为服务属性值提供的类型“MySqlForNet.Web.Service”。

    源错误:

    执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

    堆栈跟踪:

    [InvalidOperationException: 无法找到 ServiceHost 指令中作为服务属性值提供的类型“MySqlForNet.Web.Service”。]
       System.ServiceModel.Activation.ServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses) +4072062
       System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +11656092
       System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +42
       System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +479
    
    [ServiceActivationException: 由于编译过程中出现异常,无法激活服务“/Service.svc”。异常消息为: 无法找到 ServiceHost 指令中作为服务属性值提供的类型“MySqlForNet.Web.Service”。。]
       System.ServiceModel.AsyncResult.End(IAsyncResult result) +11527290
       System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +194
       System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext) +176
       System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +278
       System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +68
       System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
    
    这是什么样的错误,能告诉我吗?
    2009年7月11日 6:24
  • 问题自己解决。

    2009年7月11日 8:04
  •  唉 分享一下 你的问题解决方法  你不能奇妙说个自己解决 为答案 让别人不解啊
    2009年7月11日 15:03
  • 我就是照着silverlight网站上的视频教程又做了一遍。
    我也不知道问题出在哪里。
    2009年7月12日 12:48
  • 是你wcf程序就不对,自然Silverlight引用时候就报错了
    如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”
    2009年7月13日 0:01
    版主
  • 什么视频哟????

    2009年7月14日 4:49
  • WCF可以编绎吗?
    我开始用也经常报这个错,主要是由于WCF端口在变,而SL引用的端口不变,建议在调试时指定下WCF的端口会省不少事。
    mhw11
    2009年7月15日 9:33
  • to:mhw11
    不知道你说的编辑是指什么。在web.config文件里倒是可以改一下设置,不知道是不是这个。
    恩,端口一般都要指定的,要不然肯定要报错的。
    2009年7月15日 9:59
  • 初步估计是你修改了名称空间造成的
    检查一下,.svc文件中的 Service="MySqlForNet.Web.Service" 是不是这样,这个值必须和
    Web.Config中的
    <service name="MySqlForNet.Web.Service"> 一致,否则就会报你这种错误
    2009年8月13日 13:12
  •  唉 分享一下 你的问题解决方法  你不能奇妙说个自己解决 为答案 让别人不解啊
    也有可能是你建了一个 WCF ClassLibrary project,然后你在host这个service的时候没有reference这个project。先说声不好意思,有些英文不知道怎么翻成中文了。
    2009年10月11日 10:11
  • 碰到了同样的问题,我使用的是netTcp协议来传输消息的,郁闷!


    Nothing is impossible for a willing heart.
    2010年1月13日 9:22
  •   Check out this web site :

    WCF, Service attribute value in the ServiceHost directive could not be found.

    http://stackoverflow.com/questions/720807/wcf-service-attribute-value-in-the-servicehost-directive-could-not-be-found 

    esp take a detail looking at the first replay ,cauz it has two links ,which offer great help.

    I think u can get what u want .

    2010年7月25日 10:21