我添加了映射.svc .net 4应用程序配置 使用配置文件发布我的服务:服务URL - “http:// localhost:8732 / Service1 /” 网站/应用程序 - “默认网站/服务1” 并检查了iis选项
我的web.config文件:
<host>
<baseAddresses>
<add baseAddress = "http://localhost:8732/Service1/" />
</baseAddresses>
</host>
<endpoint address="" binding="wsHttpBinding" contract="WcfService.IService1">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
当我尝试浏览我的服务时,会出现错误:
服务器错误。无法访问IIS元数据库。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Web.Hosting.HostingEnvironmentException:无法访问IIS元数据库。
用于运行ASP.NET的进程帐户必须具有对IIS元数据库的读访问权限(例如IIS:// servername / W3SVC)。有关修改配置数据库权限的信息,请参阅http://support.microsoft.com/?kbid=267904。
来源错误:
在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
堆栈追踪:
[HostingEnvironmentException:无法访问IIS元数据库。] System.Web.Configuration.MetabaseServerConfig.MapPathCaching(String siteID,VirtualPath path)+1076 System.Web.Configuration.MetabaseServerConfig.System.Web.Configuration.IConfigMapPath2.MapPath(String siteID,VirtualPath vpath)+9 System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath,Boolean permitNull)+301 System.Web.Hosting.HostingEnvironment.MapPathInternal(VirtualPath virtualPath,Boolean permitNull)+51 System.Web.CachedPathData.GetPhysicalPath(VirtualPath virtualPath)+39 System.Web.CachedPathData.GetConfigPathData(String configPath)+704 System.Web.CachedPathData.GetConfigPathData(String configPath)+583 System.Web.CachedPathData.GetApplicationPathData()+38 System.Web.CachedPathData.GetVirtualPathData(VirtualPath virtualPath,Boolean permitPathsOutsideApp)+8782255 System.Web.Configuration.RuntimeConfig.GetConfig(VirtualPath path)+46 System.Web.Configuration.RuntimeConfig.GetLKGRuntimeConfig(VirtualPath path)+96
版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.0.30319.1
答案 0 :(得分:0)
您是否检查过ASP.NET的IIS注册?通过确保ASPX页面工作来检查。如果不使用适合您正在使用的框架版本的正确文件夹中的aspnet_regiis(包括32或64位版本)
答案 1 :(得分:0)
如果我们在安装.NET Framework后安装IIS,则告知我们“无法访问IIS元数据库”错误,并且补救措施是重新安装ASP.NET。
要解决此错误,我已按照以下步骤操作 1.停止了IIS 2.在命令提示符下面的命令下面重新安装aspnet。
%windir%\ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_regiis.exe -i
结果: 开始安装ASP.NET(2.0.50727)。 .................................................. ................ 完成安装ASP.NET(2.0.50727)。 3.重新启动IIS和WCF服务正在响应,没有任何问题。