小编Pav*_*kiy的帖子

如何使用C#官方驱动程序创建具有Null值的Bson Document?

我有3个字符串字段Country,Province,City的对象.它们可以包含null或一些字符串名称.

我想用完全相同的值查询所有数据.

例如,我需要所有数据

City = null,
Province = "WA",
Country = "USA"
Run Code Online (Sandbox Code Playgroud)

我创建了BsonDocument:

var lookup = new QueryDocument
{
    {"GeoPosition.City", userLocation.City},
    {"GeoPosition.Province", userLocation.Province},
    {"GeoPosition.Country", userLocation.Country}
};
Run Code Online (Sandbox Code Playgroud)

但是null字段被丢弃了,文档看起来像:

{
    "GeoPosition.Province" : "WA",
    "GeoPosition.Country" : "USA"
}
Run Code Online (Sandbox Code Playgroud)

如果我正在使用

Query.EQ("GeoPosition.City", userLocation.City)
Run Code Online (Sandbox Code Playgroud)

我有例外说参数不能为空.

正如我在文档中看到的那样,如果value等于null,则构建查询检查没有问题.所以这是C#驱动程序的问题.任何想法如何解决这个问题?

mongodb mongodb-.net-driver

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

在重定向时保持HTTP Basic Authentification存活

我们正在使用基本身份验证的Web服务.这一切都很好,直到Web服务的所有者实现了平衡服务.这只是将请求重定向到不同的Web服务实例.

问题是重定向后基本身份验证失败.有"请求身份验证凭据未通过"异常.

附加信息:

  1. 我们必须手动创建请求.

        var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(Settings.Default.HpsmServiceAddress));
    
        req.Headers.Add("Authorization", "Basic aaaaaaaaaaa");
        req.PreAuthenticate = true;
        req.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested;
        req.UserAgent = "Apache-HttpClient/4.1.1 (java 1.5)";
        req.KeepAlive = false;
    
        ServicePointManager.Expect100Continue = false;
    
        req.ContentType = "text/xml; charset=utf-8";
        req.Method = "POST";
        req.Accept = "gzip,deflate";
        req.Headers.Add("SOAPAction", actionName);
        byte[] buffer = Encoding.UTF8.GetBytes(envelop);
        Stream stm = req.GetRequestStream();
        stm.Write(buffer, 0, buffer.Length);
        stm.Close();
    
        WebResponse response = req.GetResponse();
        string strResponse = new StreamReader(response.GetResponseStream()).ReadToEnd();
        response.Dispose();
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我们通过HTTP 307重定向重定向

c# web-services http basic-authentication http-headers

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