解析Windows Azure中xslt文件的路径

时间:2011-07-30 21:43:06

标签: azure

我打算用azure编写一个web应用程序,我有一个问题...... 为了发送电子邮件,我使用了我之前写过的类库,我在xlst文件中有电子邮件模板,每次我想发送电子邮件时,我都会创建一个包含我要包含在电子邮件中的信息的对象,将该对象序列化为xml,并使用xlst文件将其转换为html格式的电子邮件。

这对我很有用,我想在我的Azure网络应用中使用它。我的问题是,如何找到xlst文件?我应该在属性选项卡中将其标记为“内容”吗?我该如何访问它?

提前致谢, 涓

2 个答案:

答案 0 :(得分:1)

是的,将文件标记为“内容”,然后通过Server.MapPath(“〜/ whatever.xslt”)查找它应该可以正常工作。 (这可能是你在普通网络应用程序中会做的,对吗?)

答案 1 :(得分:1)

正如smarx已经指出的那样,如果你在部署时上传了文件而没有被应用程序更改,Server.MapPath将会起作用。

在我们的应用程序中,我们使用dependency injection解决此问题。在类库中,我们将定义一个接口,例如ITemplateRepository没有实施。在您需要类库的项目中,您可以创建该接口的实现,因为在Web应用程序中,您可以安全地使用Server.MapPath,或者转到Azure blob存储或基本上执行任何其他操作。

虽然我们使用DI,但我们只需要看起来像这样的构造函数:

public TemplatedMailService(ITemplateRepository repo) {
    this._repo = repo;
}

如果您没有使用DI容器,您可以这样做:

var myService = new ClassLibrary.TemplatedMailService(new WebProject.ServerStoragezrepository());

这将是最具扩展性的方式。但也要研究DI。