Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF服务,作为服务属性值提供的类型…;找不到_C#_Wcf_Wcf Binding - Fatal编程技术网

C# WCF服务,作为服务属性值提供的类型…;找不到

C# WCF服务,作为服务属性值提供的类型…;找不到,c#,wcf,wcf-binding,C#,Wcf,Wcf Binding,当我在Visual Studio 2012中右键单击Eval.svc并在浏览器中查看时,我得到以下信息- 找不到在ServiceHost指令中作为服务属性值提供的或在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供的类型“evalServiceLibrary.Eval” 当我从测试客户端运行WCF服务时,一切正常 评估服务: [ServiceBehavior(InstanceContextMode =

当我在Visual Studio 2012中右键单击
Eval.svc
并在浏览器中查看时,我得到以下信息-

找不到在ServiceHost指令中作为服务属性值提供的或在配置元素system.serviceModel/serviceHostingEnvironment/serviceActivations中提供的类型“evalServiceLibrary.Eval”

当我从测试客户端运行WCF服务时,一切正常

评估服务:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class EvalService : IEvalService
{
    Dictionary<string, JobPhaseTimer> jobTimers = new Dictionary<string, JobPhaseTimer>();

    public void SubmitEntry(ENBO.Jobs.Job job, ENBO.Jobs.JobDetail jobDetail, ENBO.TimeLogs.TimeLog timeLog, ENBO.Users.User user, ENBO.Utilities.EntryType entryType, JobPhase jobPhase)
    {
        if (entryType == EntryType.Active)
        {
            JobPhaseTimer timer = new JobPhaseTimer();
            timer.UID = job.ID + "_" + jobPhase.ID;
            timer.JobID = job.ID;
            timer.JobDetailID = jobDetail.ID;
            timer.PhaseID = jobPhase.ID;
            timer.StartTime = DateTime.Now;
            timer.Stopwatch.Start();
            jobTimers.Add(timer.UID, timer);

            TimeLog log = new TimeLog();
            log.JobID = job.ID;
            log.PhaseID = jobPhase.ID;
            log.UserID = user.ID;
            log.DateEntry = DateTime.Now;
            log.EntryType = EntryType.Active;

            if (log.AddNewTimeLog())
            {
                //Do something
            }
        }
        else if (entryType == EntryType.Paused)
        {
            JobPhaseTimer timer = jobTimers[job.ID + "_" + jobPhase.ID];
            timer.Stopwatch.Stop();

            TimeLog log = new TimeLog();
            log.JobID = job.ID;
            log.PhaseID = jobPhase.ID;
            log.UserID = user.ID;
            log.DateEntry = DateTime.Now;
            log.EntryType = EntryType.Paused;

            if (log.AddNewTimeLog())
            {
                //Do something
            }
        }
    }
}
Eval.svc
标记:

<%@ ServiceHost Language="C#" Debug="true" Service="EvalServiceLibary.Eval" %>
你知道我为什么会犯这个错误吗?我在谷歌上搜索了几页,但似乎什么都没用


谢谢

结果是Eval.svc.cs需要将其命名空间更改为evalServiceLibrary,而不是EvalServiceSite。

Eval.svc
文件中的以下行更改为:

<%@ ServiceHost Language="C#" Debug="true" Service="EvalServiceLibary.Eval" %> 

致:


我自己刚刚碰到了这个问题,而这个问题和网上的任何其他答案都没有解决我的问题。对我来说,这是一个奇怪的问题,虚拟目录是在另一个源代码管理服务器的不同分支上创建的(基本上,我们从TFS 2010升级到2013),解决方案不知怎么记住了它的映射


无论如何,我再次单击了服务项目属性中的“创建虚拟目录”按钮。它给了我一条关于映射到其他文件夹的消息,我想更新它。我单击了“是”,解决了问题。

确保二进制文件位于“.svc”文件的“bin”子目录下。

仔细检查Project.net版本。使用不同.net版本相互引用的项目会导致问题。

在我的例子中,我在iis上对错误的文件夹执行了“转换为应用程序”操作。
我的应用程序被设置在它应该位于的子文件夹中。

我更改了服务的输出路径。它应该位于服务项目的
bin
文件夹中。一旦我将输出路径放回
bin
,它就工作了。

当我在Visual Studio中将当前生成配置设置为除调试以外的其他设置时,出现了此错误。

这是一个旧错误,但我今天在一个web服务上遇到了它,该服务自通过“新建\项目..”创建以来几乎没有被更改过

对我来说,此问题是由包含以下内容的“
IService.cs
”文件引起的:

<%@ ServiceHost Language="C#" Debug="true" Service="JSONWebService.Service1.svc" CodeBehind="Service1.svc.cs" %>
请注意,您需要从Visual Studio外部打开此文件


Visual Studio在解决方案资源管理器中显示了一个文件,
Service1.cs
,但这只允许您更改
Service1.svc.cs
,而不是
Service1.svc
文件。

我也遇到了同样的问题。我特意将生成输出路径设置为“.\bin”,当我将生成输出路径设置为“\bin”时,它对我来说是有效的。当我更改标记中的Service=“Namespace.ServiceName”标记(右键单击xxxx.svc并选择在visual studio中查看标记)以匹配我用于xxxx.svc.cs文件的命名空间时,问题得到了解决

  • 创建IIS应用程序时,只有
    /bin
    /App\u code
    文件夹位于IIS应用程序的根目录中。因此,请记住将所有代码放在根目录
    /bin
    /App\u code
    目录中(请参阅)

  • 确保服务名称和约定包含全名(例如
    namespace.ClassName
    ),并且服务名称和接口与web.config中端点的服务标记和约定的name属性相同


  • 右键单击解决方案资源管理器中的.svc文件,然后单击查看标记

     <%@ ServiceHost Language="C#" Debug="true" 
         Service="MyService.**GetHistoryInfo**" 
         CodeBehind="GetHistoryInfo.svc.cs" %>
    
    
    

    更新您所引用的服务引用。

    我也遇到了同样的问题。确保在
    .svc
    文件的
    工厂
    属性中包含程序集名称。如果重命名了项目程序集名称,可能需要清理IIS缓存。

    它是web项目吗?web.config是什么样子的?是的,一个web项目。我已将web.config添加到问题中。干杯这应该在我的“奇怪的WCF服务错误列表”或什么的。成功了!要添加,如果找不到指定的标记,请在解决方案资源管理器中右键单击.svc文件,然后单击“查看标记”。否则,如果打开它,它将打开代码文件.OMG!在我将教程中的服务名称从service1改为其他名称后,我到处寻找这个。用鼠标右键点击.svc文件,我省去了几个小时的头发拉扯!!!我很高兴这对你们有用。干杯-Ali Rahimyth在.svc已经创建之后,当我更改项目下的
    名称空间时,这种情况发生在我身上。第二点帮助了我,服务名称包括名称空间名称,但不包括类名,因此按名称空间完成了服务名称。ClassName我在测试客户端上调试时遇到此错误,必须以某种方式将\bin\debug删除为just\bin才能使其正常工作。为什么会这样?这正是我的问题。命名空间限定符区分大小写。很好。我已经手动更改了合同名和c#文件名,所以这也是我必须手动完成的。谢谢,太好了。就这样!我忘了我清洗了溶液。只是需要建造。这样一个模糊的错误我的输出路径被设置为“bin\Debug\”。我把它改为“bin”并通过了这个错误。VS允许你通过右键单击和“查看标记”来编辑这个文件。这为我做到了。最初原因是对默认服务名称“Service1”的“重命名”操作失败。
    
    <%@ ServiceHost Language="C#" Debug="true" Service="EvalServiceLibary.EvalService" %>
    
    <%@ ServiceHost Language="C#" Debug="true" Service="JSONWebService.Service1.svc" CodeBehind="Service1.svc.cs" %>
    
    <%@ ServiceHost Language="C#" Debug="true" Service="JSONWebService.Service1" CodeBehind="Service1.svc.cs" %>
    
     <%@ ServiceHost Language="C#" Debug="true" 
         Service="MyService.**GetHistoryInfo**" 
         CodeBehind="GetHistoryInfo.svc.cs" %>