我需要帮助设置我的Azure虚拟机以允许连接到我的WCF网站服务。拜托,我只是遗漏了一些与Azure相关的简单内容。
我收到此错误:
" http://mydomainname.com/registrations.svc没有可以接受消息的端点"
我已为我的虚拟机设置了HTTP,HTTPS,FTP和其他端点。
我已经在网站和网站上搜索了几个小时但仍然没有答案 - 就像很多其他人一样。
详细说明:
我在Azure虚拟机(Server 2008)上有一个网站。该网站是我们本地服务器上托管的生产网站的副本。该网站具有Windows桌面客户端使用的WCF服务。一切都在我们的本地服务器上。 除了访问服务之外,Azure服务器上的所有内容都有效。 我的注册域名指向Azure服务器公共IP地址,因此访问Azure计算机上托管的网站可以正常工作。 示例:http://www.mydomainname.com显示我的ASP.NET网站。它按预期工作,包括https绑定。
该服务似乎对外界可见。 示例http://www.mydomainname.com/Registrations.svc?wsdl显示了服务的详细信息。
另外,如果我在VM上放置客户端代码的副本,并在VM上放置本地主机版本的网站(使用VS Express进行Web调试),并将客户端中的URL更改为指向本地主机版本服务 - 一切正常
我还没有更改任何防火墙设置,因为我不需要在我们的现场服务器上(甚至在ISP网络服务器上)这样做。
以下是服务信息:
<system.serviceModel>
<services>
<service name="RegistrationsService" behaviorConfiguration="RegistrationsServiceBehavior">
<endpoint address="" binding="wsHttpBinding" contract="IRegistrations"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RegistrationsServiceBehavior">
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
</system.serviceModel>
有人能告诉我可能缺少什么。
我是否需要在Azure门户中为我的VM设置另一个端点,以便WCF可以工作:Name = AnyName?协议=&#34; TCP;公共港口=?私人港口=?
在上述之后,我在服务器防火墙(公共端口或专用端口)中启用了哪些端口
Azure虚拟机与其他虚拟机(如我们的现场服务器或ISP网络服务器)之间存在其他不同之处
我在IIS或其他地方可能遗漏了任何设置。我设置的所有东西就像我们在本地服务器上工作的网站和服务一样。
非常感谢任何帮助
丹尼斯