[英]Problems with II7 and IIS Express
我有一个Android应用程序,该应用程序对ASP.NET WEBAPI服务进行了GET请求,我已经创建了该服务,当您使用II Express在浏览器中打开该服务时,它可以工作。 但是,我的android device()中的应用程序无法访问我正在使用URL:http:/ localhost:8306 / api / uconnectservice创建的服务,并且收到的LOGCAT如下:java.net.SocketTimeoutException:无法连接10000ms后转到/ localhost(端口8306)。 我已激活IIS7,并尝试查看NET。我不知道这是否是服务器配置问题。请提供任何帮助或指导。我的Android代码:String URL =“ http:// localhost:8306 / api / uconnectservice ”;
private final OkHttpClient client = new OkHttpClient();
public void run() throws Exception {
Request request = new Request.Builder().url(URL).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@SuppressLint("NewApi")
@Override
public void onResponse(Call call, Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
if (!response.isSuccessful())
throw new IOException("Unexpected code " + response);
Headers responseHeaders = response.headers();
for (int i = 0, size = responseHeaders.size(); i < size; i++) {
System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
}
Log.e("Results", responseBody.string());
}
}
});
}
/////////////////////CODE FOR SERVER ASP.NET WEBAPI////////////////////
namespace UnicsPlcServices.Controllers
{
public class UConnectServiceController : ApiController
{
private IUconnectRepository _UconnectHandler;
public UConnectServiceController()
{
_UconnectHandler = new UconnectRepository();
}
public UConnectServiceController(IUconnectRepository repository)
{
if (_UconnectHandler == null)
{
throw new ArgumentNullException("repository");
}
_UconnectHandler = repository;
}
// GET api/uconnectservice
public List<AcountTypesRegistered> Get()
{
return _UconnectHandler.GetAll();
}
.........................other code`enter code here`
我有类似的问题。 我将android studio和visual studio与IIS express一起使用。 我的解决方案是使用经典IIS,在Android Studio中,我使用10.0.2.2
代替了localhost
。
IIS Express:可以使用它,但必须首先允许外部请求。 ( http://www.ryadel.com/zh-CN/iis-express-allow-external-requests-remote-clients-devices/ )
第一个问题是您没有使用运行Web API的计算机的IP地址,而是需要在Java代码而不是localhost中使用该IP地址。
您的第二个问题是IIS Express不允许从本地主机访问,但是为了解决这个问题,我们制作了一个免费的Visual Studio扩展名为Conveyor,您可以从VS中的扩展对话框中获取它,也可以在这里https://visualstudiogallery.msdn .microsoft.com / a429dbb7-a982-4541-b401-934375c02c0f?redir = 0
它无需打开配置文件即可打开IIS Express,因此您可以从其他计算机(例如平板电脑和电话)连接到IIS Express。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.