繁体   English   中英

II7和IIS Express的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM