1

我们有一个web应用程序托管在Azure上AppService服务计划交谈Marklogic服务器托管与请求的协议不兼容的地址在Azure VM上。 使用webapp和虚拟机通过点对点虚拟专用网进行通话并且位于相同的VNET上天青的webapp使用.NET XCC库天青Marklogic虚拟机上:采用[::ffff:10.10.1.4]:9501

当我们使用.net XCC库调用托管在xcc:// admin:[email protected]:9501上的Marklogic服务器时。 我们得到一个错误:

使用 [::ffff:10.10.1.4]:9501

堆栈跟踪消息中的地址与请求的协议不兼容的:在 Marklogic.Xcc.Impl.SessionImpl .SubmitRequest(请求请求)处 IET.TV.Common.MarkLogicHelper.MarkLogicHelper.InvokeToSingleString(字符串 moduleUri,字符串分离器,字符串inputSearchDetails IET.TV.Common.MarkLogicHelper.MarkLogicHelper.Invoke(字符串moduleUri, 字符串inputSearchDetails) )

是否有一种方法来控制地址的格式如何使用.NET XCC库生成。 试图禁用VM上的IPV6选项仍然没有工作是否有任何其他选项来使其工作

使用的Marklogic库版本是在.net 4.6上运行的MarkXCC.Net-8.0-6和MVC 4。

回答

1

我发现这在Windows 10

工作https://support.microsoft.com/en-us/kb/929852

你必须在为Windows主机级别禁用IPV6不解析为IPV6地址。

有禁用IPV6和重新启用它,以及注册指令的向导。我测试了这个向导,它为我工作。 (它以前给你同样的错误)。

我第一次尝试这样的:https://msdn.microsoft.com/en-us/library/f59xd138(v=vs.90).aspx

,并没有奏效。打印精细 https://msdn.microsoft.com/en-us/library/e2sb8t9k(v=vs.90).aspx

此设置启用的DNS 类的过时成员IPv6的支持:BeginGetHostByName,BeginResolve,EndGetHostByName,EndResolve, GetHostByAddress,的gethostbyname和解决。对于 System.Net命名空间的其他成员,如果在操作系统中启用了IPv6,则可能会返回IPv6地址 。

+0

由于我的应用程序正在运行,如应用服务计划的webapps。我不确定我们是否可以执行这些文件。由于它不显示任何虚拟机。同时为了反映ipv6的变化,我们需要重启服务器。没有选项可以重新启动虚拟机。 – Nishank

+0

我仍然尝试使用PowerShell脚本,并试图将其作为webjob运行。 “New-ItemProperty -Path HKLM:\ SYSTEM \ CurrentControlSet \ services \ TCPIP6 \ Parameters -Name DisabledComponents -PropertyType DWord -Value 0xFF”但它不允许我更改注册表:PermissionDenied:(HKEY_LOCAL_MACH ... PIP6 \ P – Nishank