2011-08-31 90 views
1

我创建了一个WCF Web服务并在IIS(7)中创建了一个新站点。我为http请求创建了一个新的端口(8002)。我可以浏览到该网站,并获得典型的“你没有权限查看此目录...”,所以我知道该网站正在工作。但是,我在我的web.config(其中1.1.1.1被我的实际IP地址替换)中将我的端点地址设置为“http://1.1.1.1:8002”。当我通过http://1.1.1.1:8002/service.svc浏览到服务时,我得到页面无法找到错误。在站点的根文件夹中有一个service.svc。设置有什么问题?WCF端点地址问题

这里是有帮助的,如果(同样,1.1.1.1被替换我的真实IP地址)的web.config文件:

<?xml version="1.0"?> 
    <configuration> 
     <system.web> 
     <compilation debug="true" targetFramework="4.0"/> 
     <customErrors mode="Off"/> 
     </system.web> 
     <system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
      <binding name="BasicBinding"> 
       <security mode="None"> 
       <transport clientCredentialType="None" /> 
       </security> 
      </binding> 
      </basicHttpBinding> 
     </bindings> 
     <services> 
      <service behaviorConfiguration="WcfService.ServiceBehavior" name="WcfService.Service"> 
      <endpoint address="http://1.1.1.1:8002" binding="basicHttpBinding" bindingConfiguration="BasicBinding" contract="WcfService.IService"> 
      </endpoint> 
      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
      </service> 
     </services> 
     <behaviors> 
      <serviceBehaviors> 
      <behavior name="WcfService.ServiceBehavior"> 
       <serviceMetadata httpGetEnabled="true"/> 
       <serviceDebug includeExceptionDetailInFaults="true"/> 
      </behavior> 
      </serviceBehaviors> 
     </behaviors> 
     </system.serviceModel> 
     <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true"/> 
     </system.webServer> 
    </configuration> 
+0

网站文件夹的名称是什么?你有没有尝试打http://1.1.1.1:8002/ /service.svc? – njebert

回答

4

在托管时,您不能在配置文件控制你的服务的地址IIS。您只能控制端点的相对地址 - 它相对于.svc文件。

因此,如果您在站点http://YourIP:8002中托管服务,则其地址为http://YourIP:8002/Service.svc,并且端点中的地址元素与此地址有关。但我希望你不要直接在网站上提供服务。您在站点中有一些应用程序,并且应用程序的名称是URL的一部分:http://YourIP:8002/YourApplicationName/Service.svc实际上,用于嵌套服务的每个文件夹都是URL的一部分。

+0

我试过你加入/Service.svc和相同结果的建议。浏览器表示无法找到页面。 Service.svc位于站点的根目录中,而不是子文件夹。我甚至可以浏览网站,并可以看到Service.svc。当我点击它时,浏览器显示无法找到网页。 – user31673

+0

将端点/ @地址留空并再次尝试 –

+0

工作正常。现在的问题是为什么地址需要空白?我总是看到列出的地址。你能解释一下发生了什么事吗? – user31673