2013-08-25 71 views
0

我正在使用Visual Studio 2008.我创建了一个WCF应用程序,并且当我第一次从VS IDE运行服务(不在IIS上托管)时,服务在Web中打开浏览器地址为localhost:1927/。每次我使用VS IDE运行此服务时,它都运行在同一个端口上,即1927没有协议绑定匹配给定的地址'错误

我想更改端口号(出于某种原因),所以我在web.config文件中给出了具体地址localhost:1928。当我在IDE中运行Web服务后,我不断收到以下错误。

没有协议绑定与给定地址'localhost:1928 /'匹配。协议绑定在IIS或WAS配置中的站点级别配置。

以下是web.config文件中的<service>部分。

<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> 

我的具体问题是:

  1. 如何VS IDE总是它在第一次运行选择了同一端口上运行的服务?这些信息存储在哪里? (我查看了解决方案中的所有文件,但是我找不到任何地方提到的1927端口)。

  2. 如何让服务在不同的端口上运行?

(请注意,我已经看到了类似的#1线,但它们涉及在IIS中托管服务)`

回答

1

您可以根据项目属性的解决方案管理器进行控制。有一个叫Web标签,您可以告诉Visual Studio中是否使用默认的自动分配的端口,或者你选择的一个特定的固定端口:

enter image description here

任何非标准的设置将存储到您的YourProject.csproj文件。

2

只需将地址属性留空即可解决问题。

相关问题