我正在使用Visual Studio 2008.我创建了一个WCF应用程序,当我第一次从VS IDE(不在IIS上托管)运行该服务时,该服务在Web浏览器中打开,地址为localhost:1927/
。每次我从VS IDE运行此服务时,它都在同一个端口运行,即1927
我想更改端口号(出于某种原因),因此我在localhost:1928
文件中提供了特定地址web.config
。在此更改后,当我在IDE中运行Web服务时,我不断收到以下错误。
没有协议绑定与给定地址'localhost:1928 /'匹配。协议绑定在IIS或WAS配置中的站点级别配置。
以下是<service>
文件中的web.config
部分。
<service name="EMS.ServiceImplementation.EmployeeService"
behaviorConfiguration="EM.EmployeeServiceBehavior" >
<endpoint name="httpEndPoint"
address="http://localhost:1928/"
binding="basicHttpBinding" bindingConfiguration=""
contract="EMS.ServiceContracts.IEmployeeService" />
<endpoint name="MEXEndPoint"
address="mex"
binding="mexHttpBinding" bindingConfiguration=""
contract="IMetadataExchange" />
</service>
我的具体问题是:
VS IDE如何在第一次运行时选择的同一端口上运行服务?这些信息存储在哪里? (我查看了解决方案中的所有文件,但我找不到任何地方提到的端口1927)。
如何在不同的端口上运行服务?
(请注意,我在Stackoverflow中看到了类似的线程,但它们与IIS中托管的服务有关)`
答案 0 :(得分:2)
只需将地址属性留空即可解决。
答案 1 :(得分:1)
您可以在“项目属性”下的“解决方案资源管理器”中控制此项。有一个名为Web
的选项卡,您可以告诉Visual Studio是使用默认的自动分配端口,还是使用您选择的特定固定端口:
任何非标准设置都会存储到您的YourProject.csproj
文件中。