0

我正在使用 Visual Studio 2008。我创建了一个 WCF 应用程序,当我第一次从 VS IDE(未托管在 IIS 上)运行该服务时,该服务在 Web 浏览器中打开,地址为localhost:1927/. 每次我从 VS IDE 运行这个服务时,它都运行在同一个端口,即 1927

我想更改端口号(出于某种原因),所以我localhost:1928web.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>

我的具体问题是:

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

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

(请注意,我在 Stackoverflow 中看到过类似的线程,但它们与 IIS 中托管的服务有关)`

4

2 回答 2

2

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

于 2013-08-25T07:24:30.887 回答
1

您可以在“项目属性”下的“解决方案资源管理器”中对此进行控制。有一个名为的选项卡Web,您可以在其中告诉 Visual Studio 是使用默认的自动分配端口,还是使用您选择的特定固定端口:

在此处输入图像描述

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

于 2013-08-25T07:21:37.963 回答