Tag: azure

Azure Web应用程序中的“无法创建SSL / TLS安全通道”

我的Azure Web应用程序需要连接到各种服务器(使用和不使用SSL)。 只要我在Windows 10上的本地IIS Express或IIS 7.5中运行应用程序,这就完美无缺。 一旦我将应用程序部署到Azure,它就会停止为需要SSL的某些服务器工作(不是全部)。 如果我通过ssllabs运行它们通常会得到一个A,而那些工作得到一个B或一个C. 所以我假设Azure实例上的.NET支持的密码少于本地支持的密码或类似的东西? 我试过这个 ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3; 也试过没有任何TLS标志,因为这是大多数人的建议,但它没有帮助。 根据下面的post,10月有一个修复,但现在是12月。 https://social.msdn.microsoft.com/Forums/en-US/ca6372be-3169-4fb5-870f-bfbea605faf6/azure-webapp-webjob-exception-could-not-create-ssltls-secure-channel?forum= windowsazurewebsitespreview 它也与Cloud Flare无关。 有任何想法吗? 或者也许要开始,我如何看到我的应用程序尝试使用的密码和可用的密码?

如何使用Azure服务总线主题完成FIFO

一直在寻找具有发布/订阅function的消息总线。 发现AWS SQS不支持FIFO,因此不得不放弃它。 使用Azure Service总线,发现队列确实支持FIFO,但似乎主题不支持FIFO。 主题是我们需要的,他们的pub-to-many-sub模型:( 这只是我失踪的环境吗? 我尝试从我的C#客户端发送100条消息,订阅者以错误的顺序收到消息。 任何提示将不胜感激。 谢谢!

解码Azure移动服务JWT令牌时出现JwtSecurityTokenexception

以下代码: using System.IdentityModel.Tokens; JwtSecurityToken jwtSecurityToken = new JwtSecurityToken(rawToken); 生成以下exception: Jwt10113: Unable to decode the ‘header’ The value “0” is not of type “System.String” and cannot be used in this generic collection. Parameter name: value 当rawToken的’header’部分是: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6MH0 哪个可以解码为: {“alg”:”HS256″,”typ”:”JWT”,”kid”:0} 错误令牌的来源是Azure Mobile Services 。 请注意,调用同一行代码时不会发生exception,而’header’部分是: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjAifQ 哪个可以解码为: {“alg”:”HS256″,”typ”:”JWT”,”kid”:”0″} 我如何克服这个问题,并正确validation这样的令牌?

ComosDB – MongoAPI – 文档不包含分片键

我正在调查使用CosmosDB(以前的DocumentDB),我们目前使用MongoDB,因此我尝试使用MongoAPI for CosmosDB。 我在azure中创建了一个CosmosDB部署,创建了一个集合并指定了一个分区键“/ rateId”。 据我所知,从Microsofts文档中,这个分区键应该与我插入的每个文档中的属性相关,所以我试图插入一个基本文档,如下所示: { “rateId”: “test.1”, “val”: “test2” } 但是当我尝试插入它(通过Mongo C#驱动程序或通过MongoChef)时,我收到错误“文档不包含分片键”。 我已经尝试过每一个我能想到的方式,每次我都被这个错误拒绝。 我误解了这是如何工作或做错事的吗?

从Azure函数中的配置文件加载连接字符串

在我的Azure函数中,我正在使用一个库,它通过ConfigurationManager中的ConnectionString建立与SQL服务器的连接,如下所示: var cs = System.Configuration.ConfigurationManager.ConnectionStrings[“DbConString”].ConnectionString; DbConnection connection = new SqlConnection(cs); 现在,当我通过应用程序设置在门户中设置连接字符串DbConString时,一切正常。 但是对于本地开发,我使用azure-functions-cli,不幸的是我不知道应该在哪里放置连接字符串以通过ConfigurationManager正确加载它。 我试图将它放在appsettings.json文件中,但没有成功。 编辑:我的appsettings.json目前看起来像这样: { “IsEncrypted”: false, “Values”: { “AzureWebJobsStorage”: “”, “AzureWebJobsDashboard”: “”, “MyServiceBusReader”: “Endpoint=sb://xxxx=”, “DbConStr1”: “data source=(localdb)\\MSSQLLocalDB;initial catalog=MyDb;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework”, “ConnectionStrings”: { “DbConStr2”: “data source=(localdb)\\MS…” } } } 但是我无法通过ConfigurationManager访问“DbConStr1”。 如此处所述,在“ConnectionStrings”中添加“DbConStr2”会导致编译错误。 也许是因为我没有使用.NET Core? Edit2:我搞砸了“ConnectionStrings”的嵌套。 它必须与“值”处于相同的嵌套级别: { “IsEncrypted”: false, “Values”: { “AzureWebJobsStorage”: “”, “AzureWebJobsDashboard”: “”, “MyServiceBusReader”: “Endpoint=sb://xxxx=” […]

元素下面的元素在Azure中无法识别

这里有一个大问题。 我无法在Visual Studio中打开任何类型的项目。 即使我创建一个新的,我得到错误: 元素下面的元素无法识别。 C:\ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Windows Azure Tools \ 1.6 \ Microsoft.WindowsAzure.targets。 如果有人知道请帮助我。

Azure Fluent API创建SQL Server时出错 – 缺少x-ms-request-id标头

我正在尝试使用Azure Fluent API( https://github.com/Azure/azure-sdk-for-net/tree/Fluent )创建一个新的SQL Server,但我总是得到一个Microsoft.Rest.Azure.CloudException 。 其他所有(创建存储帐户,应用程序服务,资源组)工作正常 – 它只是SQL部分不起作用。 ISqlServer sqlServer = await Azure.SqlServers .Define(serverName) .WithRegion(regionName) .WithExistingResourceGroup(rgName) .WithAdministratorLogin(administratorLogin) .WithAdministratorPassword(administratorPassword) .WithNewElasticPool(elasticPoolName, elasticPoolEdition) .CreateAsync(); 但是在尝试创建服务器时,我得到了一个例外: {Microsoft.Rest.Azure.CloudException: Invalid value for header ‘x-ms-request-id’. The header must contain a single valid GUID. at Microsoft.Azure.Management.Sql.Fluent.ServersOperations.d__10.MoveNext() — End of stack trace from previous location where exception was thrown — at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() […]

Azure Web应用程序缓慢的数据库连接

我开发了一个Web应用程序标准Web应用程序,允许用户显示和更新SQL数据库中的一组数据。 Web应用程序使用AngularJS客户端,它通过MVC Web API调用与Web服务器交互,以检索和更新数据库上的数据。 服务器端代码使用.NET 4.5以C#编写,并使用Entity Framework v6.0访问数据库。 Web应用程序托管在Azure Web App中。 数据库是Azure SQL数据库。 问题是,当应用程序未使用大约10-15分钟时,再次使用它,第一次数据检索通常需要10秒以上才能返回浏览器。 之后,性能良好,直到下次应用程序未使用。 我在应用程序中添加了跟踪,我们看到延迟是连接打开的时间。 数据库上的实际查询运行亚秒级。 我注意到,虽然使用不同的主机配置,我得到了不同的结果。 特别是在内部托管并指向Azure数据库不会遇到任何接近相同延迟的地方。 我已经改变了其中一个例程来使用ADO.NET而不是entity framework,并更改了跟踪以尝试进一步缩小范围。 我看到的是: ConnectionStringSettings ADOcnxstring = ConfigurationManager.ConnectionStrings[“DevFEConnectAdo”]; DbConnection ADOconnection = new SqlConnection(ADOcnxstring.ConnectionString); 延迟就在这里(在SQL定义之前! 然后我构建命令并执行DataReader等: DbCommand ADOcommand = ADOconnection.CreateCommand(); : etc 因此延迟是打开与数据库的连接。 我的连接字符串是标准的:

在webjob sdk代码fork之后为公共类ServiceBusTriggerAttribute获取exception

我从这里获得所有webjod sdk代码 我想使用Microsoft.Azure.WebJobs.ServiceBus.dll使类ServiceBusTriggerAttribute公共和非密封并创建nuget包但是当我在我的webjob项目中使用此nuget获得以下exception时。 mscorlib.dll中发生了未处理的“System.IO.FileLoadException”类型exception 附加信息:无法加载文件或程序集’Microsoft.Azure.WebJobs.ServiceBus,Version = 1.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35’或其依赖项之一。 强名称validation失败。 (HRESULTexception:0x8013141A)

从Azure Blob获取最新文件

假设我每天在blob存储中生成几个json文件。 我想要做的是在我的任何目录中修改最新的文件。 所以我的blob中有这样的东西: 2016/01/02/test.json 2016/01/02/test2.json 2016/02/03/test.json 我想得到2016/02/03/test.json 。 因此,一种方法是获取文件的完整路径并进行正则表达式检查以查找创建的最新目录,但如果我在每个目录中有多个josn文件,则这不起作用。 是否有类似File.GetLastWriteTime来获取最新的修改文件? 我正在使用这些代码获取所有文件btw: public static CloudBlobContainer GetBlobContainer(string accountName, string accountKey, string containerName) { CloudStorageAccount storageAccount = new CloudStorageAccount(new StorageCredentials(accountName, accountKey), true); // blob client CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); // container CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName); return blobContainer; } public static IEnumerable GetBlobItems(CloudBlobContainer container) { IEnumerable items = container.ListBlobs(useFlatBlobListing: […]