我是WCF的新手,我正在通过创建示例应用程序进行自学。这是一个非常简单的应用程序的代码,它会在注释
下面的行后面抛出一个异常形式namespace ConsoleAppHost
{
class Program
{
public static void Main()
{
//Exception thorwing from following line
using (ServiceHost host = new ServiceHost(typeof(ReportService.ReportService))) //Exception thorwn from this
{
host.Open();
Console.WriteLine("Host started @ " + DateTime.Now.ToShortDateString());
Console.ReadLine();
}
}
}
}
这是来自主机(同一控制台应用程序)的app.config文件。请善意告诉我问题在哪里?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="mexBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<services>
<service name="ReportService.ReportService" behaviorConfiguration="mexBehavior">
<endpoint address="ReportService" binding="netTcpBinding" bindingconfiguration="" contract="ReportService.IReportService"></endpoint>
<host>
<baseAddresses>
<add baseAddress ="http://localhost:8080/"/>
<add baseAddress ="net.tcp://localhost:8090/"/>
</baseAddresses>
</host>
</service>
</services>
</configuration>
以下是您真正感兴趣的源代码。
谢谢。
答案 0 :(得分:6)
您的代码存在两个问题。
<services>
部分在配置文件中的位置:它必须位于<system.serviceModel>
内。bindingconfiguration
属性拼写错误。必须是bindingConfiguration
。以下是您可以找到的方法:确实会在您指出的行中抛出异常。这是TypeInitializationException
。如果您深入查看InnerException
字段,那么您最终可以看到“无法识别的属性”等简单消息。