C# 自主机wcf服务中的异常-用于';System.ServiceModel.Diagnostics.Traceutibility';抛出异常

C# 自主机wcf服务中的异常-用于';System.ServiceModel.Diagnostics.Traceutibility';抛出异常,c#,wcf,rest,C#,Wcf,Rest,当我尝试将现有的基于IIS的服务移植到自托管服务时,出现了以下异常 “System.ServiceModel.Diagnostics.TraceUtility”的类型初始值设定项引发异常 在成功测试本文中给出的示例代码之前,我遵循了移植现有代码的步骤 下面是我内心的例外 现在,在注释掉整个标记后,它抛出另一个异常: 在服务“服务”实现的合同列表中找不到合同名称“SelfHostedRESTService.IService” 这是我的配置文件: 这是我的界面: namespace Contr

当我尝试将现有的基于IIS的服务移植到自托管服务时,出现了以下异常

“System.ServiceModel.Diagnostics.TraceUtility”的类型初始值设定项引发异常

在成功测试本文中给出的示例代码之前,我遵循了移植现有代码的步骤

下面是我内心的例外

现在,在注释掉整个
标记后,它抛出另一个异常:

在服务“服务”实现的合同列表中找不到合同名称“SelfHostedRESTService.IService”

这是我的配置文件:


这是我的界面:

namespace Contracts
{
    [ServiceContract]
    public interface IService
    {
        [XmlSerializerFormat]
        [OperationContract]
        [WebGet]
        XmlDocument postGeneralXMLDocument(Stream strInput);

        [OperationContract]
        [WebInvoke]
        string PostMessage(string inputMessage);
    }
}

为什么它会抛出此异常?

根据您实际的内部异常

每个配置文件只允许一个元素,如果存在,则必须是根元素的第一个子元素。

问题的原因是
部分,如果web.config中存在
,则它必须是根元素的第一个子元素。在
之后移动
部分将解决您的问题

  • 取消对元素的注释

  • 部分移动到
    ..
    部分下方


  • 更新

    对于例外情况
    “在服务'service'实现的合同列表中找不到合同名称'SelfHostedRESTService.IService'。”

    请更正所使用的命名空间,其在interface&web.config中使用的命名空间不匹配

    合同中:
    命名空间合同

    在Web.config中:
    SelfHostedRESTService.IService

    或者

    • 在接口中将名称空间更改为
      SelfHostedRESTService
    或者

    • 在web.config中使用
      Contracts.IService

    更新2 对于异常
    “合约‘iSeries’中的操作‘postGeneralXMLDocument’有一个名为‘strInput’的查询变量,类型为‘System.IO.Stream’,但类型‘System.IO.Stream’不能由‘QueryStringConverter’转换。UriTemplate查询值的变量必须具有可由‘QueryStringConverter’转换的类型。”
    似乎您正在使用“System.IO.Stream”类型的名为“strInput”的变量,该变量无法直接序列化。尝试序列化为字符串,然后在另一端反序列化

    一个有用的链接是:


    希望能有所帮助。

    可能重复我之前看到的问题;app.config中的Servicebehaviors标记很好。您是否捕获了异常并查看了其内部异常?现在我添加了异常处理并更新了问题。无论如何,我只有一个,我现在已经评论过了。现在我遇到了一个新的异常“在服务“service”实现的契约列表中找不到契约名称“SelfHostedRESTService.IService”。“该错误与WCF或
    可跟踪性
    无关。可跟踪性的静态ctor只是第一个跳过该问题的代码。您的“app.config”在结构上无效(它在内部异常的文本中表示)。您似乎有多个
    configSections
    元素。你也可以发布app.config文件的内容,或者自己尝试更正。我按照你的建议做了。但也有同样的例外。请参阅我更新的问题和新的异常“在服务“service”实现的合同列表中找不到合同名称“SelfHostedRESTService.IService”。“您是否未注释
    ?是的,并移到上面以生成第一个元素。这与以前的问题完全不同。请显示您的服务合同界面,这与配置和实际文件/方法名称不匹配有关。@SebastianXavier,问题解决方案的更新答案。