小编Mat*_*t M的帖子

使用Oracle Managed Driver Core的asp.net core docker容器。打开连接时抛出ORA-00604和ORA-01882

当尝试从Docker容器内部使用针对dotnet核心的Oracle托管数据访问(https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/)连接到oracle数据库时,收到以下异常。我没有在Docker之外收到异常

重现步骤:

  1. 打开VS 2017
  2. 文件>新建>项目...
  3. Visual C#> .Net Core> ASP.Net Core Web应用程序
  4. 点击确定
  5. 选择“ Web应用程序(模型-视图-控制器)”
  6. 取消选中“启用Docker支持”
  7. 取消选中“配置HTTPS”
  8. 点击确定
  9. 在Package Manager控制台中执行 Install-Package Oracle.ManagedDataAccess.Core -Source nuget.org -Version 2.18.3
  10. 将代码粘贴到HomeController.Index方法中
  11. 在线设置断点 con.Open();
  12. 单击调试“ IIS Express”按钮
  13. 尝试打开连接时不会引发任何异常。
  14. 停止调试
  15. 在解决方案资源管理器中右键单击Web项目>添加> Docker支持
  16. 选择“ Linux”单选按钮,然后单击“确定”。
  17. 右键单击解决方案资源管理器中的Web项目>添加>容器协调器支持
  18. 在下拉菜单中选择``Docker Compose'',然后单击``确定''(具体取决于安装的Visual Studio 2017版本)
  19. 如果显示任何弹出窗口要求覆盖文件,请单击“是”。
  20. 单击调试“ Docker Compose”按钮
  21. 尝试打开连接时将引发异常

码:

var strm = new Oracle.ManagedDataAccess.Client.OracleConnectionStringBuilder();
strm.UserID = "<username>";
strm.Password = "<password>";
strm.DataSource = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<db_host>)(PORT = 1521))) (CONNECT_DATA=(SERVICE_NAME=<service_name>)))";
using (var con = new Oracle.ManagedDataAccess.Client.OracleConnection(strm.ConnectionString))
{
     con.Open(); // Exception thrown here. …
Run Code Online (Sandbox Code Playgroud)

c# oracle docker .net-core

6
推荐指数
1
解决办法
1552
查看次数

指定的输入之一无效

使用 nuget 包“Microsoft.Azure.Cosmos”(版本 3.4.1)我无法对非常基本的模型(三个属性)执行 upsert 操作。我查看了宇宙样本并将它们用作起点,但无法弄清楚我做错了什么

当尝试执行以下代码时,我收到以下错误 “指定的输入之一无效”

完整代码

public class CatalogModel
{
    [JsonProperty("id")]
    public long Id { get { return ModelId; } }

    [JsonProperty("ModelId")]
    public long ModelId { get; set; }

    public string Name { get; set; }
}

public async Task Do(CatalogModel model)
{
    string databaseId = "<dbid_here>"; // in real application this will not be hard coded
    string containerId = "<containerid_here>"; // in real application this will not be hard coded
    Database database = await _client.CreateDatabaseIfNotExistsAsync(databaseId); …
Run Code Online (Sandbox Code Playgroud)

azure-cosmosdb

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

asp.net 核心泊坞窗图像“aspnet:2.2-stretch-slim”

我最近创建了一个新的 asp.net core 2.2 项目,在对 dockerfile 进行更改时,我注意到 Visual Studio 模板使用了一个我不熟悉且无法找到相关文档的新基础映像。有人可以解释一下这个“超薄”图像是什么以及它与我希望看到的 aspnet 图像有何不同?

实际的

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:2.2-sdk AS build
Run Code Online (Sandbox Code Playgroud)

预期的

FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 AS base
WORKDIR /app
EXPOSE 80
FROM microsoft/dotnet:2.2-sdk AS build
Run Code Online (Sandbox Code Playgroud)

dockerfile docker-image asp.net-core

3
推荐指数
2
解决办法
3193
查看次数