我有一台带有IIS 7.5和一个IP的Windows 2008 Server。根,/ web和/ service下有两个Application。 / web是一个MVC4应用程序,/ service是一个WCF 4.0服务。
当我从MVC使用服务时,我使用以下代码:
// Create the web request
HttpWebRequest request = WebRequest.Create(TripServiceUrl + id) as HttpWebRequest;
// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// Console application output
tripJson = reader.ReadToEnd();
}
我收到以下SocketException:
[SocketException (0x274c): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 10.243.6.43:80]
System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) +273
System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) +584
但是,我可以从服务器上的浏览器看到10.243.6.43:80(内部地址)并成功调用该服务。知识产权无法公开访问。
我应该采取什么配置来进行像这样的自引用调用?
答案 0 :(得分:1)
这可能是一个环回问题(安全问题)。请参阅http://support.microsoft.com/kb/896861。
总结:
在注册表编辑器中,找到并单击以下注册表项: HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \控制\ LSA 用鼠标右键单击Lsa,指向新建,然后单击DWORD值。 键入DisableLoopbackCheck,然后按ENTER键。 右键单击“DisableLoopbackCheck”,然后单击“修改”。 在“数值数据”框中,键入1,然后单击“确定”。
请勿执行有关DisableStrictNameChecking的步骤。
你也会发现很多理由不这样做(毕竟,你是禁用安全检查),然后很多人说这是让SharePoint正常工作的唯一方法。无论如何,它将帮助您确定这是否是问题。