asp.net-mvc-3 – Azure网站上的RavenDb – 访问被拒绝
发布时间:2020-12-15 20:23:57 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Azure上的新网站功能,并尝试在嵌入模式下使用RavenDB运行MVC网站.一切都在本地工作正常但在azure中运行已部署的站点我收到此错误: System.Net.NetworkInformation.NetworkInformationException:拒绝访问 当我在global.asax中创建数据库实例时会
我正在使用Azure上的新网站功能,并尝试在嵌入模式下使用RavenDB运行MVC网站.一切都在本地工作正常但在azure中运行已部署的站点我收到此错误:
System.Net.NetworkInformation.NetworkInformationException:拒绝访问 当我在global.asax中创建数据库实例时会发生这种情况: Store = EmbeddableDocumentStore { ConnectionStringName = "RavenDb" }; 我的连接字符串是: <add name="RavenDb" connectionString="DataDir=~App_DataRaven" /> 谢谢! 解决方法
当没有为RavenDb指定端口时,它会出去并尝试找到它自己的端口,它通过调用IPGlobalProperties.GetActiveTcpListeners()来实现.
RavenDb | PortUtil.cs var activeTcpListeners = IPGlobalProperties .GetIPGlobalProperties() .GetActiveTcpListeners(); 调用GetActiveTcpListeners()实习生调用Win32函数GetTcpTable(),它试图枚举主机上所有可能的端口组合.出于显而易见的原因,允许人们在Windows Azure网站中进行端口扫描并不是一个好的方案.这意味着GetTcpTable操作失败,当开发世界出现问题时,我们抛出异常. 在这种特殊情况下,异常是NetworkInformationException,它会将安全权限提升到忽略对GetTcpTable的调用.这就是导致拒绝访问消息的原因. TL;博士 在web.config appsettings部分添加一个默认端口: <appSettings> <add key="Raven/Port" value="*"/> <!-- Add real tcp port # --> <add key="Raven/DataDir" value="~Data"/> <add key="Raven/AnonymousAccess" value="Get" /> </appSettings> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Asp.Net Core 中的静态文件
- asp.net – 在Visual Studio 2008中将后期构建事件添加到网
- 在asp.net mvc3中检测页面关闭(或卸载)
- 经典ASP和UTF-8
- asp.net – 访问网站根目录时,FormsAuthentication重定向到
- asp.net-mvc – 在ASP.NET MVC中对ViewModels进行验证
- asp.net-mvc – 使用自定义HTML扩展在ASP.NET MVC 3 Razor
- asp.net – 禁用Internet Explorer 8开发人员工具
- asp.net-mvc – asp.net mvc viewmodels.它们应包含多少逻辑
- asp.net – 为什么Web架构松散耦合?