Jen*_*sen -7 c# wcf android web-services xamarin.android
我有一个C#(.net 3.5)桌面应用程序,它在屏幕上打印出一些数字.现在我想将其扩展到移动设备.(在我的情况下是Android设备.)它必须显示与计算机屏幕上相同的数字.整个事情只是一个概念的证明,它不必看起来很好,它不必100%工作,有一个很好的GUI或简单的设置,它只需要显示一些数字.
我一直在研究MonoDroid,因为它有可能使用WCF服务.(我知道移动设备和台式计算机将连接到同一个网络.)不幸的是,MonoDroid的试用版不支持真正的设备,我不想花几百美元来证明一点.
我有Java的基本知识,我想我能够使用Android SDK快速开发一个示例应用程序,从网络上的网页获取数据,解释它(XML,JSON,无论如何)并将其显示在屏幕上.
所以我的问题变成:是否有可能从现有的应用程序中创建某种Web服务(无需设置整个IIS服务器),其中包含一些带有一些XML数据的网页,我可以按给定的时间间隔刷新这些数据,可以从同一网络上的计算机访问?我应该怎么做,使用哪种技术?
或者有其他方法可以实现这样的目标吗?
我使用C#HttpListener如下...
private void CreateListener
{
HttpListener listener = null;
HttpListenerContext context = null;
HttpListenerRequest request = null;
HttpListenerResponse response = null;
string PortNumber = "9876";
string requestUrl;
Boolean listen = false;
try
{
if (listener == null)
{
listener = new HttpListener();
listener.Prefixes.Add("http://*:" + PortNumber + "/");
listener.Start();
listen = true;
while (listen)
{
try
{
context = listener.GetContext();
}
catch (Exception e)
{
listen = false;
}
if (listen)
{
request = context.Request;
requestUrl = request.Url.ToString();
// Process request and/or request Url
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
基本上listener.GetContext();阻塞,直到收到HTTP请求.然后,您可以使用它request = context.Request来检索HTTP请求数据并对其进行处理.然后,您可以使用它context.Response来返回响应.
实现和适应相当简单.
| 归档时间: |
|
| 查看次数: |
6483 次 |
| 最近记录: |