我在azure存储中创建了几个容器,并将一些文件上传到这些容器中.现在我需要给容器/ blob提供域级访问权限.所以我从代码级别尝试了它,如下所示.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
ServiceProperties blobServiceProperties = new ServiceProperties();
blobServiceProperties.Cors.CorsRules.Add(new CorsRule(){
AllowedHeaders = new List<string>() {"*"},
ExposedHeaders = new List<string>() {"*"},
AllowedMethods = CorsHttpMethods.Post | CorsHttpMethods.Put | CorsHttpMethods.Get | CorsHttpMethods.Delete ,
AllowedOrigins = new List<string>() { "http://localhost:8080/"},
MaxAgeInSeconds = 3600,
});
blobClient.SetServiceProperties(GetBlobServiceProperties());
Run Code Online (Sandbox Code Playgroud)
但是,如果我从代码创建所有内容,上面的代码似乎是有效的(如果我错了,请纠正我).我也觉得像设置下面这里,
<CorsRule>
<AllowedOrigins>http://www.contoso.com, http://www.fabrikam.com</AllowedOrigins>
<AllowedMethods>PUT,GET</AllowedMethods>
<AllowedHeaders>x-ms-meta-data*,x-ms-meta-target,x-ms-meta-source</AllowedHeaders>
<ExposedHeaders>x-ms-meta-*</ExposedHeaders>
<MaxAgeInSeconds>200</MaxAgeInSeconds>
</CorsRule>
Run Code Online (Sandbox Code Playgroud)
但我没有得到这个代码必须放在哪里.我的意思是在哪个文件中.或者从azure门户创建容器或blob时是否有任何CORS设置.请协助.任何帮助都会很明显.谢谢!
在WebAPI的HttpResponseMessage/HttpRequestMessage类型中直观地查看将实际发送或接收的Http Headers的原始列表是非常有益的.我的意思是只是一个普通的旧字符串,每个标题都在一个新行上,正是生成或接收的内容.
但不幸的是,看起来这些类型中的任何一种都不允许您只看到实际生成的内容.相反,到处都有物业.原始HttpResponseMessage/HttpRequestMessage中的一些类型本身,一些在response/request.Content.Headers中(两个不重复,后者是那些尚未作为属性覆盖的,通常用于自定义标题),...也许Cookie某处获得了自己的标题藏匿处.并且在视觉上看到那些Header集合列表也很痛苦,也就是说你最终会为每个这样的集合添加一堆迭代代码......更多的混乱.
但是在发送/接收的实际响应/请求中,没有这样的划分,并且很容易看到所有Http头.所以我在某个地方错过了吗?实际上是否有一个简单直观的属性,只是返回原始标题字符串?当然响应已经收到了标题并且只是解析了它们...是隐藏在某处的原始字符串吗?
(顺便说一下,我知道Fiddler ......这完全不能令人满意.如果我不得不处理Http标题的低级别混乱,那么能够用我正在使用的编程类型来查看它们是很有意义的.生成和接收它们.但更糟糕的是,我仍然无法让localhost与Fiddler一起工作(在Win8上),这使得它在许多调试场景中的使用无效,我想要做的就是看到将生成的臭头. )
我需要澄清如何实现Betty的代码解决方案,以便使用AutoMapper将数据注释元数据传输到ViewModels(参见此处).或者,如果你有更好的方法,请分享.也许对于熟悉AutoMapper的人来说,实现贝蒂的答案是显而易见的,但我是新手.
这是一个简单的例子,我将如何添加到此代码中以使Betty的解决方案工作:
// Data model Entity
public class User1
{
[Required]
public int Id { get; set; }
[Required]
[StringLength(60)]
public string FirstName { get; set; }
[Required]
[StringLength(60)]
public string LastName { get; set; }
[Required]
[DataType(DataType.Password)]
[StringLength(40)]
public string Password { get; set; }
}
// ViewModel
public class UserViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
当前的AutoMapper实现:
// Called …Run Code Online (Sandbox Code Playgroud) 如果有一个本地构建的Orchard CMS - 故意从完整源代码构建,那么我可以编写自己的扩展/进行自己的更改 - 这是否意味着我永远不能通过已发布的生产运行实例对站点进行仪表板更改?
问题是,如果我通过生产网站在线安装模块(或10或100)或主题,那么这些不会反映在我的本地副本中,那么两者如何同步?所以答案是明智的"你当然不能"吗?但这意味着永远无法利用简单地跳过任何浏览器(例如在旅行时等)来进行必要时的更改(当然,有许多内容,例如编辑内容,只需更改数据库,这不是我关注的).
或者是否有一种简单的方法来同步本地和远程源(通过ftp我确定,在这种情况下从远程同步到本地),是否以及何时通过生产实例进行更改?如果是这样,那么有什么先决条件,例如,我必须转而对其进行预先补偿吗?或者选项是严格的两个:1)始终从本地副本工作并从那里发布更改(总是),或2)始终从生产/非本地实例工作,但这意味着实际上你没有/甚至没有本地实例?
ps这是一个共享的azure网站发布,我在Visual Studio 2012(不是webmatrix)工作
是否无法在XElement.ToString生成的xml字符串中的属性之间显示换行符?
以下不起作用 - 它保留了换行符,但是将它们放在所有属性之下,所以只有4/5个空行:
new XElement("options", new XText("\r\n"),
new XAttribute("updated", Updated.XmlTime()), new XText("\r\n"),
new XAttribute("color", Color), new XText("\r\n"),
new XAttribute("puppies", Puppies), new XText("\r\n"),
new XAttribute("isTrue", IsTrue), new XText("\r\n"),
new XAttribute("kitties", Kitties ?? "")),
Run Code Online (Sandbox Code Playgroud) 我在Azure网站(而不是WebRole)上安装了WordPress.我有FTP访问该网站,但它实际上可能需要一个小时,这是疯了因为如果我只能压缩网站上的数千个文件(由于所有的插件等),可能需要5秒钟来运行该zip .下载然后会更加可靠,因为它只有1个文件,而不是10,000个可能在传输中混乱的文件.例如,传统的托管服务商允许您使用控制面板和zip文件夹,但FTP不允许这样做.
我可以在Azure网站上做任何方式,形状或如何做到这一点??? 我看了一下SFTP,它似乎有一些这样的功能,但它似乎没有在Azure网站中实现.我能做什么,这整个工作流程是可以理解的,我不能忍受它,它不鼓励备份.这鼓励人们去传统的共享主机,但如果可能,我宁愿不去.
如果使用 序列化 JSON DefaultValueHandling.Ignore,因此序列化的唯一属性是非默认值,是否仍然可以强制一个或多个属性始终序列化?当您拥有一个人类可读或可编辑的 JSON 文档,并且只有一两个属性确实需要被发现时,这将是一个很好的功能,而对于许多其他人来说,它仍然最好仅在实际设置时才显示。
c# ×4
azure ×2
ftp ×2
.net ×1
asp.net-mvc ×1
automapper ×1
backup ×1
git ×1
gitignore ×1
http-headers ×1
json.net ×1
orchardcms ×1
xelement ×1
zip ×1