0

我已经为我正在尝试编写的测试 Web 服务填充了我的 app.config 文件。

我现在得到的错误是:

在 ServiceModel 客户端配置部分中找不到引用合同“LocationService.ILocationServices”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。

我有一个域 www.mydomain.com,要在那里获取文件,我只需将它们 ftp 到 ftp.mydomain.com - root。

我的配置文件有这个:

  <system.serviceModel>
    <services>
      <service name="CraigsService.LocationServices">
        <endpoint address="" binding="basicHttpBinding" contract="CraigsService.ILocationServices">
          <identity>
            <dns value="www.mydomain.com" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://www.mydomain.com/CraigsService/LocationServices/" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, 
          set the value below to false and remove the metadata endpoint above before deployment -->
          <serviceMetadata httpGetEnabled="True"/>
          <!-- To receive exception details in faults for debugging purposes, 
          set the value below to true.  Set to false before deployment 
          to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

我所有的类都在 CraigsService 命名空间中。

我的接口被声明:

public interface ILocationServices

但我无法让它工作。我的域名应该在 App.Config 中吗?我已经尝试过 Localhost (您还如何在本地调试?)。

对于我的生活,我无法发现问题。希望有人可以提供帮助。

编辑:问题是我将一个网站和我的网络服务部署到同一个文件夹中,我想!删除所有文件并重新部署后,似乎可以了。但是,现在我需要创建一个子文件夹 /services/,并将服务部署到该文件夹​​中。App.Config 中需要更改哪些内容?

如果我只是将文件夹更改为我部署的 /services/ ,我会得到:

找不到类型“CraigsService.LocationServices”,作为 ServiceHost 指令中的服务属性值提供,或在配置元素 system.serviceModel/serviceHostingEnvironment/serviceActivations 中提供。

4

2 回答 2

0

似乎您已经更改了指向 .Net 类型的命名空间限定名称的引用,以包含命名空间“CraigsService”,而不是合同接口的实际命名空间和实现服务合同的类型。要么更改配置 xml 和 @ServiceHost 指令中的名称,要么将类型移动到新的命名空间。例如,你可能会改变

<% @ServiceHost Service=”CraigsService.LocationServices” ...

<% @ServiceHost Service=”TheActualNameSpace.LocationServices” ...
于 2013-03-12T10:44:06.437 回答
0

问题是我的托管公司控制面板上的设置错误。我要拆分的文件夹要设置为 iis 应用程序根目录。

于 2013-03-12T20:45:34.360 回答