使用app.config加载托管在控制台应用上的wcf?

时间:2014-06-10 20:21:53

标签: c# asp.net wcf

您好我在控制台应用程序中托管wcf是否可以使用app.config加载此服务?

ChannelFactory<IService> service = new ChannelFactory<IService>();
service.Endpoint.Behaviors.Add(new WebHttpBehavior());
IService channel = service.CreateChannel();
Console.Read();

这是我的wcf启动到控制台应用程序,但如何加载wcf配置?

我是wcf的新人,所以请对我礼貌。

- 编辑---

所以我得到错误 零应用程序(非基础架构)端点。这可能是因为没有为您的应用程序找到配置文件,或者因为在配置文件中找不到与服务名称匹配的服务元素,或者因为在服务元素中没有定义端点。

            ServiceHost serviceHost = null;
            serviceHost = new ServiceHost(typeof(Contracs.Service));
            serviceHost.Open();

我的app.config是

            <?xml version="1.0" encoding="utf-8"?>
            <configuration>
              <system.serviceModel>
<behaviors>
  <endpointBehaviors>
    <behavior name="restfulBehavior">
      <webHttp />
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service name="Contracs.Service">
    <endpoint address="" behaviorConfiguration="restfulBehavior"
      binding="webHttpBinding" bindingConfiguration="" contract="Contracs.IService" />
    <host>
      <baseAddresses>
        <add baseAddress="http://localhost/Service" />
      </baseAddresses>
    </host>
  </service>
</services>

<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />

1 个答案:

答案 0 :(得分:2)

WCF默认尝试从app config加载。

以下是更多信息:

http://msdn.microsoft.com/en-us/library/ms733932(v=vs.110).aspx