我开发了一个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中使用这种配置。有人能解释这种情况的逻辑吗?
它可能发生在以下条件下:
- 您的服务名称和文件夹名称在IIS(myService.svc(中相同。即,在名为"myService.svc'的文件夹中,可能存在名为"myService.svc"的服务
或
- 您可能已在IIS中将别名设置为"myService.svc"。(若要验证,请单击您的网站-->基本设置-->别名