我是WCF的新手并在控制台应用程序中托管WCF服务,我现在想在服务中调用一个函数。
的Program.cs:
static void Main(string[] args)
{
var host = new ServiceHost(typeof(TestService));
host.Open();
Console.WriteLine("Service started at {0}", DateTime.Now);
Console.ReadLine();
host.Close();
}
TestService包含我现在想要调用的函数。
App.config中:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="TestServer.TestService">
<endpoint address="" binding="wsDualHttpBinding" contract="TestServer.ITestService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8090/TestService/"/>
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
我发现我必须使用ChannelFactory,但我不知道如何将其实现到我的代码中以便它可以工作。
答案 0 :(得分:2)
我最终找到了一个关于如何使用ChannelFactory的好例子,以便一切正常。 http://www.c-sharpcorner.com/UploadFile/ff2f08/channel-factory-in-wcf/