使用xp windows在iis 5.1上浏览我的WCF应用程序时出现问题

时间:2011-01-14 19:45:48

标签: .net-4.0 windows-xp wcf metadata iis-5

我添加了映射.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

2 个答案:

答案 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服务正在响应,没有任何问题。