我的项目发生了一件奇怪的事情。我有一个Azure WCF项目,它基本上由WebRole和Azure项目组成。 Azure Project包含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。
答案 0 :(得分:2)
我认为评论中提到的解决方案是您必须将Windows Azure项目设置为启动项目而不是webrole。