Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF服务应用程序配置错误_C#_.net_Wcf - Fatal编程技术网

C# WCF服务应用程序配置错误

C# WCF服务应用程序配置错误,c#,.net,wcf,C#,.net,Wcf,我没有找到任何关于这件事的有用信息,所以我在这里写道: 我创建了一个WCF服务应用程序,该应用程序在开发过程中运行良好,但当我部署它时,在IIS(7.0)上出现此错误: ServiceMetadataBehavior的HttpsGetEnabled属性设置为true,HttpsGetUrl属性是相对地址,但没有https基地址。提供https基地址或将HttpsGetUrl设置为绝对地址 应用程序为.Net FW 4.0,IIS应用程序池为ASP.Net v4.0 web.config: &

我没有找到任何关于这件事的有用信息,所以我在这里写道:

我创建了一个WCF服务应用程序,该应用程序在开发过程中运行良好,但当我部署它时,在IIS(7.0)上出现此错误:

ServiceMetadataBehavior的HttpsGetEnabled属性设置为true,HttpsGetUrl属性是相对地址,但没有https基地址。提供https基地址或将HttpsGetUrl设置为绝对地址

应用程序为.Net FW 4.0,IIS应用程序池为ASP.Net v4.0

web.config

  <service name="ServiceName.Service1">
    <endpoint address=""
              behaviorConfiguration="restfulBehavior" 
              binding="webHttpBinding" 
              contract="ServiceName.IServiceApp"/>
  </service>

<serviceMetadata httpGetEnabled="true" 
                 httpGetUrl="http://localhost:10001/ServiceName"  
                 httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="false" />

希望有人能帮上忙

Windows Event Log:
Log Name:      Application
Source:        System.ServiceModel 4.0.0.0
Date:          28.5.2014 0:11:19
Event ID:      3
Task Category: WebHost
Level:         Error
Keywords:      Classic
User:          IIS APPPOOL\ASP.NET v4.0
Computer:      Server.domain.local
Description:
WebHost failed to process a request.
 Sender Information: System.ServiceModel.ServiceHostingEnvironment+HostingManager/3486411
 Exception: System.ServiceModel.ServiceActivationException: The service '/ServiceApp/ServiceName.svc' cannot be activated due to an exception during compilation.  The exception message is: The HttpsGetEnabled property of ServiceMetadataBehavior is set to true and the HttpsGetUrl property is a relative address, but there is no https base address.  Either supply an https base address or set HttpsGetUrl to an absolute address.. ---> System.InvalidOperationException: The HttpsGetEnabled property of ServiceMetadataBehavior is set to true and the HttpsGetUrl property is a relative address, but there is no https base address.  Either supply an https base address or set HttpsGetUrl to an absolute address.
   at System.ServiceModel.Description.ServiceMetadataBehavior.EnsureGetDispatcher(ServiceHostBase host, ServiceMetadataExtension mex, Uri url, String scheme)
   at System.ServiceModel.Description.ServiceMetadataBehavior.CreateHttpGetEndpoints(ServiceDescription description, ServiceHostBase host, ServiceMetadataExtension mex)
   at System.ServiceModel.Description.ServiceMetadataBehavior.ApplyBehavior(ServiceDescription description, ServiceHostBase host)
   at System.ServiceModel.Description.ServiceMetadataBehavior.System.ServiceModel.Description.IServiceBehavior.ApplyDispatchBehavior(ServiceDescription description, ServiceHostBase serviceHostBase)
   at System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost)
   at System.ServiceModel.ServiceHostBase.InitializeRuntime()
   at System.ServiceModel.ServiceHostBase.OnBeginOpen()
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- End of inner exception stack trace ---
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)
 Process Name: w3wp
 Process ID: 4520

Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="System.ServiceModel 4.0.0.0" />
    <EventID Qualifiers="49154">3</EventID>
    <Level>2</Level>
    <Task>5</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2014-05-27T22:11:19.000000000Z" />
    <EventRecordID>64475</EventRecordID>
    <Channel>Application</Channel>
    <Computer>Server.domain.local</Computer>
    <Security UserID="bla bla bla" />
  </System>
  <EventData>
    <Data>System.ServiceModel.ServiceHostingEnvironment+HostingManager/3486411</Data>
    <Data>System.ServiceModel.ServiceActivationException: The service '/ServiceApp/ServiceName.svc' cannot be activated due to an exception during compilation.  The exception message is: The HttpsGetEnabled property of ServiceMetadataBehavior is set to true and the HttpsGetUrl property is a relative address, but there is no https base address.  Either supply an https base address or set HttpsGetUrl to an absolute address.. ---&gt; System.InvalidOperationException: The HttpsGetEnabled property of ServiceMetadataBehavior is set to true and the HttpsGetUrl property is a relative address, but there is no https base address.  Either supply an https base address or set HttpsGetUrl to an absolute address.
   at System.ServiceModel.Description.ServiceMetadataBehavior.EnsureGetDispatcher(ServiceHostBase host, ServiceMetadataExtension mex, Uri url, String scheme)
   at System.ServiceModel.Description.ServiceMetadataBehavior.CreateHttpGetEndpoints(ServiceDescription description, ServiceHostBase host, ServiceMetadataExtension mex)
   at System.ServiceModel.Description.ServiceMetadataBehavior.ApplyBehavior(ServiceDescription description, ServiceHostBase host)
   at System.ServiceModel.Description.ServiceMetadataBehavior.System.ServiceModel.Description.IServiceBehavior.ApplyDispatchBehavior(ServiceDescription description, ServiceHostBase serviceHostBase)
   at System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription description, ServiceHostBase serviceHost)
   at System.ServiceModel.ServiceHostBase.InitializeRuntime()
   at System.ServiceModel.ServiceHostBase.OnBeginOpen()
   at System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan timeout)
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   --- End of inner exception stack trace ---
   at System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath)
   at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath)</Data>
    <Data>w3wp</Data>
    <Data>4520</Data>
  </EventData>
</Event>
Windows事件日志:
日志名称:应用程序
来源:System.ServiceModel 4.0.0.0
日期:2014年5月28日0:11:19
事件编号:3
任务类别:网络主机
级别:错误
关键词:经典
用户:IIS APPPOOL\ASP.NET v4.0
计算机:Server.domain.local
说明:
WebHost无法处理请求。
发件人信息:System.ServiceModel.ServiceHostingEnvironment+HostingManager/3486411
异常:System.ServiceModel.ServiceActivationException:由于编译期间出现异常,无法激活服务“/ServiceApp/ServiceName.svc”。异常消息是:ServiceMetadataBehavior的HttpsGetEnabled属性设置为true,HttpsGetUrl属性是相对地址,但没有https基地址。提供https基地址或将HttpsGetUrl设置为绝对地址..->System.InvalidOperationException:ServiceMetadataBehavior的HttpsGetEnabled属性设置为true,HttpsGetUrl属性是相对地址,但没有https基地址。提供https基地址或将HttpsGetUrl设置为绝对地址。
位于System.ServiceModel.Description.ServiceMetadataBehavior.EnsureGetDispatcher(ServiceHostBase主机、ServiceMetadataExtension mex、Uri url、字符串方案)
位于System.ServiceModel.Description.ServiceMetadataBehavior.CreateHttpGetEndpoints(ServiceDescription说明、ServiceHostBase主机、ServiceMetadataExtension mex)
位于System.ServiceModel.Description.ServiceMetadataBehavior.ApplyBehavior(ServiceDescription说明,ServiceHostBase主机)
位于System.ServiceModel.Description.ServiceMetadataBehavior.System.ServiceModel.Description.IServiceBehavior.ApplyDispatchBehavior(ServiceDescription,ServiceHostBase ServiceHostBase)
位于System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription,ServiceHostBase serviceHost)
位于System.ServiceModel.ServiceHostBase.InitializeRuntime()处
位于System.ServiceModel.ServiceHostBase.OnBeginOpen()处
位于System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan超时)
在System.ServiceModel.Channels.CommunicationObject.Open处(TimeSpan超时)
位于System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(字符串规范化VirtualPath)
位于System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(字符串规范化VirtualPath)
---内部异常堆栈跟踪的结束---
位于System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(字符串规范化VirtualPath)
位于System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(字符串相对虚拟路径)
进程名称:w3wp
进程ID:4520
事件Xml:
3.
2.
5.
0x8000000000000
64475
应用
Server.domain.local
System.ServiceModel.ServiceHostingEnvironment+HostingManager/3486411
System.ServiceModel.ServiceActivationException:由于编译期间出现异常,无法激活服务“/ServiceApp/ServiceName.svc”。异常消息是:ServiceMetadataBehavior的HttpsGetEnabled属性设置为true,HttpsGetUrl属性是相对地址,但没有https基地址。提供https基地址或将HttpsGetUrl设置为绝对地址..--System.InvalidOperationException:ServiceMetadataBehavior的HttpsGetEnabled属性设置为true,HttpsGetUrl属性是相对地址,但没有https基地址。提供https基地址或将HttpsGetUrl设置为绝对地址。
位于System.ServiceModel.Description.ServiceMetadataBehavior.EnsureGetDispatcher(ServiceHostBase主机、ServiceMetadataExtension mex、Uri url、字符串方案)
位于System.ServiceModel.Description.ServiceMetadataBehavior.CreateHttpGetEndpoints(ServiceDescription说明、ServiceHostBase主机、ServiceMetadataExtension mex)
位于System.ServiceModel.Description.ServiceMetadataBehavior.ApplyBehavior(ServiceDescription说明,ServiceHostBase主机)
位于System.ServiceModel.Description.ServiceMetadataBehavior.System.ServiceModel.Description.IServiceBehavior.ApplyDispatchBehavior(ServiceDescription,ServiceHostBase ServiceHostBase)
位于System.ServiceModel.Description.DispatcherBuilder.InitializeServiceHost(ServiceDescription,ServiceHostBase serviceHost)
位于System.ServiceModel.ServiceHostBase.InitializeRuntime()处
位于System.ServiceModel.ServiceHostBase.OnBeginOpen()处
位于System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan超时)
在System.ServiceModel.Channels.CommunicationObject.Open处(TimeSpan超时)
位于System.ServiceModel.ServiceHostingEnvironment.HostingManager.ActivateService(字符串规范化VirtualPath)
位于System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(字符串规范化VirtualPath)
---内部异常堆栈跟踪的结束---
位于System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(字符串规范化VirtualPath)
位于System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(字符串相对虚拟路径)
w3wp
4520

您已经声明了两次
serviceMetadata
,这是不必要的。此外,您还提供了一个
httpsGetUrl
(带有
<serviceMetadata httpGetEnabled="true"
                 httpGetUrl="http://localhost:10001/ServiceName"
                 httpsGetEnabled="false"
/>
Factory="System.ServiceModel.Activation.WebServiceHostFactory"