以下代码在调试时在我的本地计算机上工作,但在发布到服务器时会引发错误。
public IEnumerable<Restaurant> Nearby(double latitude, double longitude, double distance)
{
var region = DbGeography.PointFromText(string.Format("POINT({1} {0})", latitude, longitude), 4326).Buffer(10000);
return Find(x => SqlSpatialFunctions.Filter(x.Location, region) ?? false);
}
在像疯子一样搜索之后,我从 nuget 安装了 Microsoft.SqlServer.Types。(版本 14.0.1016.290)
在 ~/bin 文件夹中添加了所需的 dll(由上述软件包提供)。
在 Global.asax.cs 中添加了以下代码
SqlServerTypes.Utilities.LoadNativeAssemblies(Server.MapPath("~/bin"));
但是代码仍然会引发“500 Internal Server Error。发生错误”。
注意:这在我的本地机器上完美运行。