了解Wcf服务端点逻辑



我开发了一个wcf服务,为我进行数据库操作https://blahblah.com/myService.svc

当我把这个网址写到浏览器上时,没问题,它能工作,没问题。

我开发了一个使用这个wcf服务的asp.net项目。在我的asp.net web.config中有一个endbonint属性,如下所示:

<endpoint address="https://blahblah.com/myService.svc" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IMyService" contract="MyService.IMyService" />

在localhost(没有https(中,它使用这个端点地址。但在服务器的IIS中,它不起作用并抛出错误";没有终点">

当我将地址更改为:

<endpoint address="https://blahblah.com/myService.svc/myService.svc" binding="basicHttpBinding" bindingConfiguration="basicHttpBinding_IMyService" contract="MyService.IMyService" />

它正在使用此配置。我不明白为什么它在服务器的IIS中使用这种配置。有人能解释这种情况的逻辑吗?

它可能发生在以下条件下:

  1. 您的服务名称和文件夹名称在IIS(myService.svc(中相同。即,在名为"myService.svc'的文件夹中,可能存在名为"myService.svc"的服务

  1. 您可能已在IIS中将别名设置为"myService.svc"。(若要验证,请单击您的网站-->基本设置-->别名

最新更新