Wcf WebServiceHost2工厂的使用

Wcf WebServiceHost2工厂的使用,wcf,rest,c#-4.0,Wcf,Rest,C# 4.0,“WebServiceHost2Factory”的用途是什么。 我正在创建RESTWCF服务。 我正在使用VS2010,所以我需要安装WCF Rest初学者工具包吗?? 当我将WebServiceHost2Factory添加到我的服务标记时,我得到一个错误,即 “在服务编译期间无法加载CLR类型“Microsoft.ServiceModel.Web.WebServiceHost2Factory”。 我错过了什么。 这是我的服务标记 <%@ ServiceHost Language="C#"

“WebServiceHost2Factory”的用途是什么。 我正在创建RESTWCF服务。 我正在使用VS2010,所以我需要安装WCF Rest初学者工具包吗?? 当我将WebServiceHost2Factory添加到我的服务标记时,我得到一个错误,即 “在服务编译期间无法加载CLR类型“Microsoft.ServiceModel.Web.WebServiceHost2Factory”。 我错过了什么。 这是我的服务标记

<%@ ServiceHost Language="C#" Debug="true" Service="WCFRESTService1.Service1" CodeBehind="Service1.svc.cs" Factory = "Microsoft.ServiceModel.Web.WebServiceHost2Factory"  %>

任何帮助都将不胜感激。

请使用WebServiceHost2 Factory和WebProtocolException进行错误处理 构建API的很大一部分是确保有足够的错误处理来帮助用户实现API。在WebServiceHost2Factory发布之前,返回适当的HTTP响应代码和消息是一件麻烦事。幸运的是,通过使用WebServiceHost2Factory和WebProtocoException类,我们可以快速轻松地实现这一壮举

以上文本来自以下内容:

可以从以下内容中找到以下故障诊断与排除帮助

分析器错误:在编译期间无法加载服务类型

从浏览器浏览WCF服务(.svc文件)时,可能会收到以下错误消息:

在服务编译期间无法加载CLR类型“XXXX”。验证此类型是否在位于应用程序的\App\u代码目录中的源文件中定义,是否包含在位于应用程序的\bin目录中的已编译程序集中,是否存在于安装在全局程序集缓存中的程序集中。请注意,类型名称区分大小写,并且\App\u Code和\bin等目录必须位于应用程序的根目录中,并且不能嵌套在子目录中

错误消息本身是可以解释的。然而,我仍然想指出发生这种情况的不同情况。以下是.svc文件的服务指令的格式:

<%@Service language=c# Class="<Managed Type>" [Other attributes] %>

以下是发生这种情况的可能原因:

  • 为“Class”属性指定的字符串不代表现有CLR类型。有时,这可能是由于打字错误。此字符串区分大小写。此外,如果您从MS Word复制此项,则引号可能是一些特殊的Unicode字符,而不是真正的ASCII引号
  • 如果程序集(包含服务类型)位于\bin目录中,则可能没有创建虚拟目录,使其根目录包含\bin作为其直接子目录
  • 如果您在\App\u code下的代码文件中输入了您的类型,则其原因可能与上述原因相同

您好,非常感谢您的建议。我将查看这些链接。