[英]HTTP Error 500.19 Internal Server Error
I created and deployed a pretty simple WCF Service. 我创建并部署了一个非常简单的WCF服务。 but when accessing it from IE, I get this :
但是当从IE访问它时,我得到了:
HTTP Error 500.19 - Internal Server Error Description: The requested page cannot be accessed because the related configuration data for the page is invalid. Error Code: 0x80070005 Notification: BeginRequest Module: IIS Web Core Requested URL: http://localhost:80/ProductsService/ProductsService.svc Physical Path: C:\Users\Administrator\Documents\Visual Studio 2008\Projects\ProductsService\ProductsService\ProductsService.svc Logon User: Not yet determined Logon Method: Not yet determined Handler: Not yet determined Config Error: Cannot read configuration file Config File: \\?\C:\Users\Administrator\Documents\Visual Studio 2008\Projects \ProductsService\ProductsService\web.config Config Source: -1: 0:
More Information... This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.
here is the content of my web.config file : 这是我的web.config文件的内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<dataConfiguration defaultDatabase="AdventureWorksConnection" />
<connectionStrings>
<add name="AdventureWorksConnection" connectionString="Database=AdventureWorks; Server=(localhost)\SQLEXPRESS;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.serviceModel>
<services>
<service name="Products.ProductsService">
<endpoint address=""
binding="basicHttpBinding"
contract="Products.IProductsService" />
</service>
</services>
</system.serviceModel>
</configuration>
Well, it looks like your service exposes no metadata exchange at all - you'll need to add at least the serviceMetadata behavior so that clients can inquire about the service's metadata, and if you want to be able to retrieve that using a browser, you'll also need to enable the httpGet on that serviceMetadata behavior:. 好吧,看来您的服务根本没有公开任何元数据交换-您至少需要添加serviceMetadata行为,以便客户端可以查询该服务的元数据,并且如果您希望能够使用浏览器来检索该元数据还需要在该serviceMetadata行为上启用httpGet:
Extend your web.config like this: 像这样扩展您的web.config:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="Metadata">
<serviceMetadata httpGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="Products.ProductsService" behaviorConfiguration="Metadata">
<endpoint address=""
binding="basicHttpBinding"
contract="Products.IProductsService" />
</service>
</services>
</system.serviceModel>
Marc 渣
检查Web应用程序文件夹的权限,并确保以下用户和组具有完整权限:\\ IIS_IUSRS和\\ IUSR。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.