提出问题提出问题
 

已答复WCF equivalent to MapPath?

  • 2007年1月9日 16:32KevinBurton 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    Is there a WCF equivalent to MapPath? I have some specific files that will be in the directory where the service is running. My question stems from the fact that MapPath bacially is called from a static HttpContext. I understand that this isn't a problem if the service is hosted in IIS but will there be an HttpContext for all hosting environments? What would be the safest way to get the "root" directory of a WCF service? Thank you.

    Kevin Burton

    HttpContext.Current.Server.MapPath

答案

  • 2007年2月26日 16:31Wenlong Dong 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复
    Hi Kevin, using HostingEnvironment plus VirtualPathExtension is the right thing to map virtual paths to physical paths. This works fine for any IIS/WAS hosted services, even for Cassini. What other hosts are you talking about please?

全部回复

  • 2007年2月25日 22:02Brian McNamara - MSFT 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

    There is an HttpContext only when webhosted in aspnetCompatibilityMode, see http://msdn2.microsoft.com/en-us/library/aa702682.aspx for details.

    I don't think there is an equivalent for other hosting environments... what is your ultimate goal?

  • 2007年2月26日 0:14KevinBurton 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     
     Brian McNamara - MSFT wrote:

    There is an HttpContext only when webhosted in aspnetCompatibilityMode, see http://msdn2.microsoft.com/en-us/library/aa702682.aspx for details.

    I don't think there is an equivalent for other hosting environments... what is your ultimate goal?

     

    The ultimate goal would be to have a single call that would tell me the virtual directory of the service similar to MapPath. If the WCF service is hosted by IIS then HttpContext is null so in that case I have been directed to the HostingEnvironment class. But this class does not really exist for other hosts. I was looking for a single call that would tell me where the service "root" directory is so I can put various configuration files there and I don't have to hard code the path names to these files.

    In addition I have been directed to VirtualPathExtension but I have not tried this yet.

    http://blogs.msdn.com/wenlong/archive/2006/02/21/read-configuration-data-from-hosted-wcf-services.aspx

    Kevin

  • 2007年2月26日 16:31Wenlong Dong 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     已答复
    Hi Kevin, using HostingEnvironment plus VirtualPathExtension is the right thing to map virtual paths to physical paths. This works fine for any IIS/WAS hosted services, even for Cassini. What other hosts are you talking about please?
  • 2007年2月26日 16:59KevinBurton 用户奖牌用户奖牌用户奖牌用户奖牌用户奖牌
     

     Wenlong Dong wrote:
    Hi Kevin, using HostingEnvironment plus VirtualPathExtension is the right thing to map virtual paths to physical paths. This works fine for any IIS/WAS hosted services, even for Cassini. What other hosts are you talking about please?

     

    If that is correct then that is my answer. Thank you.