2016-07-28 75 views
0

我有以下的在我的web.config配置:ImageResizer不会将本地图像url重定向到azure cdn url?

<resizer> 
    <clientcache minutes="1440" /> 
    <plugins> 

    </plugins> 

    <plugins> 
    <add name="AzureReader2" 
     connectionString="DefaultEndpointsProtocol=https;AccountName=myaccountname;AccountKey=myaccountkey=" 
     endpoint="https://az824306.vo.msecnd.net/" 
     prefix="~/" /> 
    </plugins> 
    </resizer> 

我有一个名为bdgtpd我的网站的根目录下,并在那里我有一个形象40420_1.png

我也有在Azure上此图像位于:

https://az824306.vo.msecnd.net/bdgtpd/40420_1.png

起初,我有我的SRC设置为https://az824306.vo.msecnd.net/bdgtpd/40420_1.png,但是当我试图申请类似https://az824306.vo.msecnd.net/bdgtpd/40420_1.png?width=300,它没有工作。

于是我将它设置为:

<img src="~/bdgtpd/40420_1.png?width=300 />

,这是否调整图像大小,但是当我看在控制台铬,我可以看到它是从我的本地文件夹抓住图像。也许我不明白AzureReader2插件,但我认为它看到时:

http://localhost/bdgtpd/40420_1.png?width=300,这将从https://az824306.vo.msecnd.net/bdgtpd/40420_1.png获取图像并应用转换。

我在设置我的src对不对?应该是本地url还是cdn url?

好吧,所以我将ImageResizer和AzureReader2一起部署到我的登台服务器,并将我的映像指向我的登台服务器。当我将前缀设置为~/时,该网站投掷了404错误,并且有消息,如Blob Not Found。主页上的所有图像都在CDN中。当我做前缀~/azure/,它工作正常,所以我不知道这里发生了什么。

我一直在寻找的可能架构文档,但我一对夫妇的事情困惑:

  1. 现在我有一个具有~/azure/前缀路径设置,所以当我看到在Chrome控制台一个图像在网络选项卡下,我看到启动程序是我的登台服务器路径,但图像实际上是从cdn中拉出来的。对发生的事情进行简单的解释会很棒。
  2. 当我使用clientcache时,如果用户从cdn请求相同的图像,图像是如何传递的?我不确定这是如何工作的?

非常感谢

+0

为什么您希望ImageResizer在本地副本可用时发出重定向? –

回答

1

如果ImageResizer是在本地主机上运行(例如),如果你的URL应该指向为localhost。 Azure没有任何理解ImageResizer命令并执行它们的魔法功能;您必须与安装了ImageResizer的服务器通话。

您应该使用前缀(例如/ azure /)来配置AzureReader2,尽管看起来您已经发现它有效?