Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net IIS中承载的Web应用程序无法从同一服务器连接到MongoDB_Asp.net_Mongodb_Iis_Database Connection_Web Deployment - Fatal编程技术网

Asp.net IIS中承载的Web应用程序无法从同一服务器连接到MongoDB

Asp.net IIS中承载的Web应用程序无法从同一服务器连接到MongoDB,asp.net,mongodb,iis,database-connection,web-deployment,Asp.net,Mongodb,Iis,Database Connection,Web Deployment,mongodb正在服务器中运行,我将服务器的ip(不是本地主机)作为绑定ip放在mongo配置文件中。 我的web api位于asp.net core中,执行示例中的数据库调用,如下所示(我没有在代码段中放入真正的ip,但与127.0.0.1不同): const string MONGO\u URL=”mongodb://xx.xxx.x.xxx:27017"; MongoClientSettings=MongoClientSettings.FromUrl(新的MongoUrl(MONGO_UR

mongodb正在服务器中运行,我将服务器的ip(不是本地主机)作为绑定ip放在mongo配置文件中。 我的web api位于asp.net core中,执行示例中的数据库调用,如下所示(我没有在代码段中放入真正的ip,但与127.0.0.1不同):

const string MONGO\u URL=”mongodb://xx.xxx.x.xxx:27017";
MongoClientSettings=MongoClientSettings.FromUrl(新的MongoUrl(MONGO_URL));
[路线(“”)
[HttpGet]
公共HttpResponseMessageGetAll()
{
var客户端=新的MongoClient(设置);
var userName=User.Identity.Name;
var filter=Builders.filter.Eq(“用户名”,用户名);
var database=client.GetDatabase(“myDatabase”);
var collection=database.GetCollection(“myEntity”);
var queryResult=collection.Find(过滤器);
if(queryResult.CountDocuments()!=0)
return Request.CreateResponse(HttpStatusCode.OK,queryResult.First());
其他的
返回Request.CreateResponse(HttpStatusCode.NoContent);
}

当我在本地运行项目(使用vpn连接)时,mongo db连接成功。但是当与IIS部署在同一服务器上时,web api不会“看到”数据库。

要找到根本原因,需要挖掘异常。首先,请检查您的事件查看器。如果从.net核心运行时引发任何异常,您将找到它。如果在事件查看器中找不到异常。这可能是第一次机会的例外。然后,您需要使用debug diagnostic collection收集转储文件,并使用WINDBG分析转储文件。要找到根本原因,您需要挖掘异常。首先,请检查您的事件查看器。如果从.net核心运行时引发任何异常,您将找到它。如果在事件查看器中找不到异常。这可能是第一次机会的例外。然后,您需要使用debug diagnostic collection收集转储文件,并使用WINDBG分析转储文件。
        const string MONGO_URL = "mongodb://xx.xxx.x.xxx:27017";

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

        [Route("")]
        [HttpGet]
        public HttpResponseMessage GetAll()
        {

            var client = new MongoClient(settings);
            var userName = User.Identity.Name;

            var filter = Builders<MongoCartDto>.Filter.Eq("Username", userName);

            var database = client.GetDatabase("myDatabase");

            var collection = database.GetCollection<myDto>("myEntity");

            var queryResult = collection.Find(filter);

            if (queryResult.CountDocuments() != 0)
                return Request.CreateResponse(HttpStatusCode.OK, queryResult.First());
            else
                return Request.CreateResponse(HttpStatusCode.NoContent);

       }