使用WCF服务

时间:2010-05-22 11:56:39

标签: c# wcf

我创建了一个托管在Windows服务中的WCF服务。我使用svcutil创建了一个代理 “svcutil.exe http://localhost:8000/ServiceModelSamples/FreeServiceWorld?wsdl

它生成了一个output.config文件和代理类。

output.config具有以下元素

<client>
    <endpoint address="http://localhost:8000/ServiceModelSamples/FreeServiceWorld"
        binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IWeather"
        contract="IWeather" name="WSHttpBinding_IWeather">
        <identity>
            <servicePrincipalName value="host/sdfsf.sdfs.com" />
        </identity>
    </endpoint>
 </client>

我创建了一个网站(作为客户端)并在其中添加了一个新的C#文件(MyFile.cs)。我将代理类的内容复制到MyFile.cs中。 [output.config未复制到网站]

在aspx的代码behnid中,我使用以下代码   WeatherClient client = new WeatherClient(“WSHttpBinding_IWeather”);

它抛出一个异常,因为“找不到名称为'WSHttpBinding_IWeather'的端点元素,并在ServiceModel客户端配置部分中收缩'IWeather'。”

你能帮我理解这里缺失的链接吗?

1 个答案:

答案 0 :(得分:2)

您需要将output.config中的元素添加到网站的web.config,以便客户知道在哪里查找服务。如果客户端未在与服务相同的计算机上运行,​​则需要交换localhost以获取运行该服务的计算机的IP地址或主机名。