MSDN > 論壇首頁 > Windows Communication Foundation > WCF equivalent to MapPath?
發問發問
 

已答覆WCF equivalent to MapPath?

  • 2007年1月9日 下午 04: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日 下午 04: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日 下午 10: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日 上午 12: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日 下午 04: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日 下午 04: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.