相关疑难解决方法(0)

如何在连接字符串中包含&符号?

我正在将Entity Framework 4用于一个简单的应用程序,并希望将我的连接凭据烘焙到以下连接字符串中:

<connectionStrings>
    <add name="MyEntities"    
         connectionString="metadata=res://*/MyDataModel.csdl|res://*/MyDataModel.ssdl|res://*/MyDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=localhost\DEV;Initial Catalog=MyDB;UserId=myUser;Password=jack&jill;MultipleActiveResultSets=True&quot;" 
         providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

但是,密码(我无法更改)包含&符号.ASP.NET抛出: Configuration Error: An error occurred while parsing EntityName. Line XX, position YYY.

如果我用密码替换密码中的&符号&amp;,我得到一个SqlException: Login failed for user 'myUser'. 通常这个技巧可行,但我猜测某些东西是失败的,因为这在技术上是连接字符串中的连接字符串.

我该怎么办?我的大多数课程包括以下代码:

using (var context = new MyEntities()) {
   // do work
}
Run Code Online (Sandbox Code Playgroud)

更新: 事实证明我使用的凭据是域帐户,所以我真正需要的是Integrated Security=True连接字符串而不是密码.

按照接受的答案中的指示对&符号进行编码应该可以正常工作,尽管我还没有测试过.

c# asp.net configuration entity-framework-4

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

使用CompositeServerSelector选择服务器30000ms后发生超时

我尝试在Mongolabs中部署我的Mongo数据库,一切正常,我创建了一个新的数据库.请看我的连接字符串.

    public DbHelper()
    {

        MongoClientSettings settings = new MongoClientSettings()
        {
            Credentials = new MongoCredential[] { MongoCredential.CreateCredential("dbname", "username", "password") },
            Server = new MongoServerAddress("ds011111.mongolab.com", 11111),
            //ConnectTimeout = new TimeSpan(30000)
        };

        Server = new MongoClient(settings).GetServer();

        DataBase = Server.GetDatabase(DatabaseName);

    }
Run Code Online (Sandbox Code Playgroud)

但是当我尝试连接数据库时,它显示的错误如下:

在此输入图像描述

c# replication mongodb nosql mlab

19
推荐指数
5
解决办法
2万
查看次数

C#MongoDB驱动程序忽略超时选项

我们正在使用Mongo DB的C#驱动程序(1.9.1).如果DB不可访问,我们有一些需要运行的回退逻辑,但是默认超时太长.我们试图改变它,但我们放置的值被忽略了.对于测试,我们使用的是无响应机器的IP.

我们尝试在连接字符串中设置超时:

 <add key="Mongo" value="mongodb://xxx.xxx.xxx.xxx:27017/?socketTimeoutMS=2000&amp;connectTimeoutMS=2000&amp;waitqueuetimeoutms=2000"/>
Run Code Online (Sandbox Code Playgroud)

或者通过代码:

var client = new MongoClient(new MongoClientSettings
{
    Server = new MongoServerAddress("xxx.xxx.xxx.xxx"),
    SocketTimeout = new TimeSpan(0, 0, 0, 2),
    WaitQueueTimeout = new TimeSpan(0, 0, 0, 2),
    ConnectTimeout = new TimeSpan(0, 0, 0, 2)
});
Run Code Online (Sandbox Code Playgroud)

两次请求在平均约20秒后超时.

我们设置超时选项的方式可能有什么问题.

c# timeout mongodb

10
推荐指数
1
解决办法
8444
查看次数

使用 C# 访问 Azure 中的 MongoDB 时选择服务器 30000 毫秒后发生超时

.Net 控制台应用程序在 4.6.1 框架中,使用 MongoDB.Driver 2.8.0。我在 SO 中引用了许多帖子,但我仍然收到超时错误。下面是我参考的一些帖子

使用 CompositeServerSelector System.TimeoutException 选择服务器 30000 毫秒后发生超时:使用 CompositeServerSelector MongoDB C# 2.0 TimeoutException选择服务器 30000 毫秒后发生超时

下面是我用来从集合中访问文档的代码。

using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Driver;

class Program
{
    static void Main(string[] args)
    {
        string connectionString =
            @"mongodb://mongoaccnt:ADASDXZWADAS2VgsqTYcTS4gtADmB1zQ==@mongocnt.documents.azure.com:10255/?ssl=true&replicaSet=globaldb";

        MongoClientSettings settings = MongoClientSettings.FromUrl(
          new MongoUrl(connectionString)
        );

        settings.SslSettings = new SslSettings() { EnabledSslProtocols = SslProtocols.Tls12 };

        var mongoClient = new MongoClient(settings);
        string dbName = "app-db";
        string collectionName = "test";
        var database = mongoClient.GetDatabase(dbName);


        var todoTaskCollection = database.GetCollection<test>(collectionName);

        var filter …
Run Code Online (Sandbox Code Playgroud)

c# timeout azure mongodb

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

System.TimeoutException:使用 CompositeServerSelector 选择服务器 30000 毫秒后发生超时

我有以下应用程序:

应用部署图

A - 应用程序 A 是托管在 IIS 7.5 中的 .net wcf 服务,使用在 .net 4.5 中编译的 c# mongodriver 2.2.4

B - 应用程序 B 是使用 mongodriver 1.11 在 .net 3.5 中编译的 Windows 服务应用程序

这两种服务是相似的,服务 B 是为遗留系统维护的,服务 A 正在演变。

这两个应用程序都托管在相同的服务器中。(Windows Standard 2008 R2) 这个应用程序已经完美运行了 1 年多,但自 2016 年 6 月 24 日起,应用程序 A (WCF) 在打开与 Mongo Server 的新连接时开始出现奇怪的行为:

> System.TimeoutException: A timeout occured after 30000ms selecting a
> server using CompositeServerSelector{ Selectors =
> ReadPreferenceServerSelector{ ReadPreference = { Mode = Primary,
> …
Run Code Online (Sandbox Code Playgroud)

.net c# wcf mongodb mongodb-.net-driver

5
推荐指数
1
解决办法
6465
查看次数