我的项目发生了一件奇怪的事情。我有一个 Azure WCF 项目,它基本上由 WebRole 和 Azure 项目组成。Azure 项目包含 ServiceDefinition.csdef,而后者又包含端点信息等内容。
我在我的 WebRole 中玩耍并在那里手动设置了一个端点。但是,由于愚蠢的用户错误,我的原始问题不需要这样做。从 web.config 中删除端点定义后,我的 webrole 仍然绑定到端口 6627,而不是我的 Azure 项目中描述的两个端点(80 和 8080)。我在任何地方都找不到那个端口,所以我猜它是默认的。
这是我编辑的 web.config 的一部分(删除的部分在评论中)。如何恢复从 Azure 项目获取配置?
<system.serviceModel>
<!-- services>
<service name="MyWebRole.MyService" behaviorConfiguration="MyWebRole.BasicUserInformationBehavior">
<endpoint address="" binding="mexHttpBinding" contract="MyWebRole.IMyService"/>
</service>
</services -->
<extensions>
<behaviorExtensions>
<add name="userInformationProcessor" type="MyWebRole.BasicUserInformationBehaviorExtensionElement, MyWebRole, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
<bindings />
<client />
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
<userInformationProcessor />
</behavior>
</serviceBehaviors>
<endpointBehaviors>
</endpointBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
[编辑] 有关该主题的更多信息!问题与根本不再启动的计算模拟器有关!我不知道为什么该服务可以工作,但我猜它是单独运行 IIS 的。