小编Sam*_*lis的帖子

appSettings.json for Docker中的.NET Core应用程序?

我在docker容器中运行.net核心应用程序.这是我的docker文件(仅用于构建开发环境):

FROM microsoft/dotnet:1.0.1-sdk-projectjson 
ENV ASPNET_ENV Development
COPY bin/Debug/netcoreapp1.0/publish/ /root/
EXPOSE 5000/tcp
ENTRYPOINT dotnet /root/AVP.WebApi.dll
Run Code Online (Sandbox Code Playgroud)

我在/ publish /文件夹中有一个appSettings.Development.json文件.如果我构建并运行这个Docker文件,我最终会遇到一个奇怪的问题,即.NET应用程序找不到它需要启动的appsettings(它们位于appSettings.Development.json文件中).

我已经确认,如果我运行dotnet publish/AVP.WebAPI.dll,从Windows命令行,该应用程序将丢失相同的例外,以便丢失配置设置.但是,如果我cd /发布并运行dotnet AVP.WebAPI.dll,应用程序启动并运行正常.

任何想法如何更改我的docker文件,以便它将使用appSettings.Development.json值正确运行应用程序?(我也尝试运行应用程序,将所有值复制到常规appSettings.json文件中,没有运气)

我也试过运行COPY命令到/而不是/ root并将dotnet AVP.WebApi.dll作为入口点,但这会导致项目无法找到依赖项.

c# docker .net-core dockerfile asp.net-core

7
推荐指数
3
解决办法
8514
查看次数

SQLFilter基于Azure Service Bus订阅中的系统属性

我正在设置主题/订阅服务,需要帮助我的SQLFilter语法,以便我可以访问BrokeredMessage属性,特别是To属性.SQL筛选器访问邮件系统属性的正确语法是什么?

我有一个使用本教程的工作示例,我可以根据需要发送和接收我的主题/订阅:https://azure.microsoft.com/en-us/documentation/articles/service-bus-queues-topics-subscriptions/

但是,现在我想根据BrokeredMessage的To属性为每个订阅设置SQL过滤器.我所遵循的教程提到可以"创建订阅时,您可以提供对消息属性进行操作的过滤器表达式,包括系统属性(例如,Label)和自定义应用程序属性(例如,StoreName) .)"

如果我设置自定义属性,例如StoreName,如下所示:

message.Properties.Add("StoreName", "TestMe");
Run Code Online (Sandbox Code Playgroud)

并使用SQL过滤器设置订阅,如下所示:

namespaceManager.CreateSubscription("MyNSTestTopic", "TestSubscription", new SqlFilter("StoreName = 'TestMe'"));
Run Code Online (Sandbox Code Playgroud)

订阅按预期过滤.但是,如果我尝试使用文章中描述的BrokeredMessage对象To属性(或标签),我一直无法使其工作.我尝试了以下SQL过滤器没有运气.访问消息的系统属性的正确语法是什么?

BrokeredMessage message = new BrokeredMessage();
message.To = "TestMe";

namespaceManager.CreateSubscription("MyNSTestTopic", "TestSubscription", new SqlFilter("To = 'TestMe'"));
namespaceManager.CreateSubscription("MyNSTestTopic", "TestSubscription", new SqlFilter("Message.To= 'TestMe'"));
namespaceManager.CreateSubscription("MyNSTestTopic", "TestSubscription", new SqlFilter("MessageTo= 'TestMe'"));
namespaceManager.CreateSubscription("MyNSTestTopic", "TestSubscription", new SqlFilter("messageto= 'TestMe'"));
Run Code Online (Sandbox Code Playgroud)

c# azure azureservicebus azure-servicebus-topics

4
推荐指数
1
解决办法
4592
查看次数