Tag: azure

使用Azure中的ASP.NET Core在Redis中保存用户会话

我正在使用redis缓存来保存项目中的一些东西。 我正在使用Azure(WebApp),当我在我的预生产环境到生产之间进行SWAP时,用户会话丢失了,他需要重新登录我的网页。 我正在使用Identity 3.0,使用UseCookieAuthentication。 我想在Redis中存储“会话”以便在我进行交换时解决我的问题。 我没有找到有关它的信息,有什么想法吗? 谢谢 Startup.cs代码配置服务: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); // Registers MongoDB conventions for ignoring default and blank fields // NOTE: if you have registered default conventions elsewhere, probably don’t need to do this //RegisterClassMap.Init(); AutoMapperWebConfiguration.Configure(); services.AddSingleton(); // Add Mongo Identity services to the services container. […]

文化没有应用于多语言网站

我有一个非常不寻常的问题,让我完全难过。 我们有一个多语言网站,所以我们使用资源文件。 但是,像@TextResources.my_key这样的视图中的每一段文本都将被本地化为随机文化。 这只发生在我的Azure部署上,我无法在本地重现。 更令人陌生的是,有一点文字始终尊重我的文化变化。 通过方法调用检索该文本: @.ConfigUtils.getTerms() 方法是: public static string getTerms() { string key = GetKeyFromDb(CONSTANTS.TERMS); if (!string.IsNullOrEmpty(key)) { return TextResources.ResourceManager.GetString(key); 我还在读取我们的资源文件,但在这种情况下,它正在根据需要进行本地化! 是否在视图中读取资源文件之后应用了文化,但是在调用此方法之前?! 我们所有的控制器都从一个基本控制器inheritance,我们重写OnActionExecuting()以应用我们的文化: protected override void OnActionExecuting(ActionExecutingContext filterContext) { ContextModel ctx = (ContextModel) Session[“ContextModel”]; // Set the correct localization according to the value set by the user if (ctx != null && ctx.UserLanguageId […]

如何添加对Azure Function C#项目的引用?

在最新的Azure SDK的帮助下,我获得了针对Visual Studio的Azurefunction工具,以便我可以在内部调试我的Azurefunction – 很酷。 我的azure函数需要使用Business对象的代码 从.csx脚本我可以在开始时使用这样的指令引用.dll #r “ServiceBusQueue.Shared.dll” Azurefunction项目中没有“添加引用…”。 我只能添加一个Build依赖项,以便首先构建业务对象dll。 但是当更新DLL代码时,不会将dll输出复制到我的azure函数目录的bin中。 在Web上发布是正确的这是为了在本地调试会话中使用最新的业务对象代码。 由于Azurefunction项目中没有Prebuild事件的选项卡,我找到的解决方案是在Function App项目中编写Prebuild event .funproj文件 批处理文件: rem %1 is the configuration, debug or release echo %1 mkdir .\ServiceBusQueueTriggerCSharp\bin copy ..\ServiceBusQueue.Shared\bin\%1\*.* .\ServiceBusQueueTriggerCSharp\bin rem DOS subtlety : test than return code is equal or greater than 1 rem : make the compilation to fail if […]

无法加载文件或程序集’System.Runtime.InteropServices.RuntimeInformation

每当我尝试运行具有应用程序洞察力和entity framework的webjob项目时,我都会收到此错误。 System.IO.FileLoadException:’无法加载文件或程序集’System.Runtime.InteropServices.RuntimeInformation,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040)’ 我安装了以下nuget包 Microsoft.Azure.WebJobs.Logging.ApplicationInsights版本2.1.0-beta4 Microsoft.Extensions.Logging版本2.0.0 Microsoft.Extensions.Logging.Console版本2.0.0。 这一切都适用于一个新的Visual Studio 2017 webjob项目,当我尝试包含现有的代码库时,主要使用entity framework,我得到这个错误。 当我查看工作中的引用时,我没有System.Runtime.InteropServices.RuntimeInformation,但它已经添加到具有entity framework的项目中。 它似乎是.net标准的一部分,但为什么我的新控制台应用程序不需要.net标准! 我不确定为什么它寻找版本0.0.0.0或者我的版本是4.0.2.0 我也尝试将其添加到项目文件中,但这不起作用。 true true 任何帮助将不胜感激 非常感谢

在Windows 8和Windows Phone 8中使用数据库的正确方法

我目前正在开发一个需要存储一些表的Windows 8应用程序。 目前,我正在使用带有XDocument类的XML文件来解决目的。 它使用了GetFileAsync和CreateFileAsync等的save和load方法。此外,还有不同的事件调用save和load方法。 但是,每当有重复调用时,都会抛出exception,告诉我文件访问被拒绝。 预期的行为 – 更多细节在这里 ! 虽然有肮脏的方法来避免这种情况(比如使用锁等),但我对结果并不满意。 我宁愿选择数据库。 此外,我打算为Windows Phone 8编写另一个应用程序(可能还有一个Web版本),它将使用这些数据。 他们一再表示Windows 8是基于云的。 现在的问题是:存储数据的正确方法是什么? XML似乎是对的,但我上面提到过有问题。 什么是理想的基于云的解决方案涉及Windows 8,Windows Phone 8和Azure? 我想要的只是存储表格并使其可访问。 对不起,如果问题似乎不清楚。 如有需要,我会提供信息。

使用Azure的MSBuild – PublishProfileSet计算结果为“”

我正在尝试将我的项目部署到Azure。 我已经在Azure上用EF代码进行了几个小时的摔跤,但是我让它去了一次并创建了一个用户。 我去发布更新,现在我收到以下错误: Invoke build failed due to exception ‘Expected “$(_PublishProfileSet)” to evaluate to a boolean instead of “”, in condition “$(_PublishProfileSet) And ‘$(PublishProfileName)’ ==” And ‘$(WebPublishProfileFile)’==””. 我删除了发布配置文件并对其进行了读取,我还从Azure中检索了一个新的配置文件。 这个问题不断出现。 我无法在任何地方的解决方案中找到PublishProfileSet,而且我不确定它应该去哪里或应该设置什么。 关于如何从中恢复的任何想法?

Azure,存储2.0的共享访问签名上的访问被拒绝

我无法获得共享访问签名以使用Storage 2.0 .. 我用的代码是: if (blob.Exists()) { var expires = DateTime.UtcNow.AddMinutes(30); var sas = blob.GetSharedAccessSignature(new Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPolicy { Permissions = Microsoft.WindowsAzure.Storage.Blob.SharedAccessBlobPermissions.Read, SharedAccessExpiryTime = expires }); url = string.Concat(blob.Uri.AbsoluteUri, sas); } return url; 但是如果我调试会话并将URL粘贴到浏览器中,我会收到错误: AuthenticationFailed Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. RequestId:c1a1dd2b-bf4a-4a6b-bab2-ab1cb9363d27 Time:2012-11-19T14:41:51.1254531Z Signature […]

为什么我的azure存储帐户中的队列域丢失了?

我已使用以下设置在Azure上成功创建了一个存储帐户: 部署:资源管理器 类型:通用(标准) 复制:ZRS 在Azure门户上,我可以看到“Blobs”服务,如果我点击它,我可以在blob域下创建blob容器: https:// [account_name] .blob.core.windows.net / 到现在为止还挺好。 当我尝试在C#应用程序中使用Azure SDK创建队列时,我收到错误,它无法找到[account_name]的域。 队列 .core.windows.net。 我一直在关注创建存储帐户的微软教程并使一个简单的队列工作,我看不到创建这个“队列”域的任何其他步骤。 在Azure门户本身,我找不到任何其他选项来创建队列或队列服务。 我用来参考的代码: var storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings[“AzureWebJobsStorage”].ToString()); var blobClient = storageAccount.CreateCloudBlobClient(); var blobContainer = blobClient.GetContainerReference(“export”); blobContainer.CreateIfNotExists(); var queueClient = storageAccount.CreateCloudQueueClient(); var exportQueue = queueClient.GetQueueReference(“export-requests”); exportQueue.CreateIfNotExists(); 创建blob容器的调用成功,我可以在Azure门户中看到新容器。 创建队列的调用失败,但出现以下exception: An exception of type ‘Microsoft.WindowsAzure.Storage.StorageException’ occurred in Microsoft.WindowsAzure.Storage.dll but was not handled in user […]

在Windows phone Silverlight 8.1上接收WNS推送通知

我有windows phone 8.1 silverlight应用程序,我希望使用新框架WNS接收Notfications。 我在package.appxmanifest: 并将其添加到移动服务中心。 为此,我删除了对MPNS使用的旧引用,并为WNS添加了以下内容: 使用Windows.UI.Notifications; 使用Windows.Networking.PushNotifications; 使用Windows.UI.StartScreen; 这导致了获得channelURI的新方法: public static PushNotificationChannel CurrentChannel { get; private set; } public async static Task UploadChannel() { bool newChannel = false; var channel = await Windows.Networking.PushNotifications.PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync(); var settings = Windows.Storage.ApplicationData.Current.LocalSettings.Values; object oldChannel; settings.TryGetValue(“channelURI”, out oldChannel); if ((oldChannel as PushNotificationChannel).Uri != CurrentChannel.Uri) { settings.Add(“channelURI”, CurrentChannel); newChannel = […]

Azure DocumentDB读取未找到的文档资源

我正在构建一个.Net控制台应用程序来读取DocumentDB中的信息。 控制台应用程序具有来自EventHub的数据,并在进入云时插入/更新最新数据。 我正在尝试从DocumentDB读取单个文档,我可以在请求文档之前确认文档存在。 if (DocumentDBRepository.DoesItemExist(name)) { device = await DocumentDBRepository.GetItemAsync(name); } 我使用Microsoft的这个教程来构建用于访问DocumentDB记录的存储库,并且成功地使用了几乎所有方法。 我可以更新/删除/查询数据库,但我无法读取单数项。 首先,它抛出了一个请求PartitionKey的exception。 所以我修改了方法,将DB使用的PartitionKey添加到请求中。 一旦我添加了PartitionKey,它就会抛出另一个exception,并显示一条消息“找不到资源” public static async Task GetItemAsync(string id) { try { RequestOptions options = new RequestOptions(); options.PartitionKey = new PartitionKey(“DeviceId”); Document document = await client.ReadDocumentAsync(UriFactory.CreateDocumentUri(DatabaseId, CollectionId, id), options); return (T)(dynamic)document; } catch (DocumentClientException e) { if (e.StatusCode == HttpStatusCode.NotFound) { return […]