我用这个代码在这里尝试调用REST控制器方法从一个Compact Framework的客户端的Web API的服务器应用程序:
public static void SendXMLFile3(string uri, string data)
{
WebRequest request = WebRequest.Create (uri);
request.Method = "POST";
string postData = data;
byte[] byteArray = Encoding.UTF8.GetBytes (postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream ();
dataStream.Write (byteArray, 0, byteArray.Length);
dataStream.Close ();
WebResponse response = request.GetResponse ();
MessageBox.Show(((HttpWebResponse) response).StatusDescription);
dataStream = response.GetResponseStream ();
StreamReader reader = new StreamReader (dataStream);
string responseFromServer = reader.ReadToEnd();
MessageBox.Show(responseFromServer);
reader.Close ();
dataStream.Close ();
response.Close ();
}
Run Code Online (Sandbox Code Playgroud)
...我早些时候曾尝试过这段代码,这是我从“Microsoft .NET Compact Framework”一书中得到的: …
我试图将Windows窗体应用程序转换为Windows移动应用程序(Windows Mobile 6专业版).它需要从Web服务器获取XML文档.如果设备已经具有开放式网络连接,例如在运行应用程序之前打开IE,则可以正常工作.但是如果没有打开连接,它就会挂起.
如果连接尚未存在,我已经找到了几种不同的方式来打开连接,但如果连接已经打开,则每个方法都会挂起应用程序.
测试打开连接的正确方法是什么,如果尚未存在,请打开一个?
谢谢
我正在开发一个针对Full/Desktop .Net Framework和Compact .Net Framework的SDK.因此,我有一个解决方案,包含Compact Framework和完整框架的项目.项目文件包含相同的源文件,或者应该包含.与我合作开发此SDK的一些开发人员只在完整的框架方面工作.他们不时将文件添加到完整的框架项目中,但忘记将其添加到紧凑框架项目中.最终,其他一些代码(已在两个项目中)引用了这种新类型.然后构建在那天晚上失败,因为紧凑框架项目不包含新文件.有谁知道验证两个项目文件同步的工具或技巧?请记住,文件不相同(一个用于紧凑框架,另一个用于完整框架).
顺便说一下,在你提到它之前,我已经阅读了The Moths博客文章.
帕特奥
我正在学习开发紧凑的框架,我遇到了一个困扰我的问题.
我已经将一些文本框绑定到某些属性(人类的名字和姓氏),并且有一个menuitem,它只显示全名的showmessage,并且它运行得相当好,只是一旦文本框丢失,属性才会更新焦点.这意味着如果我更改名字并按show name menuitem,我会获得firstname的旧值.
有没有办法可以强制更新数据绑定,或者使每次在其中一个文本框中更改字符时相应的属性更新?
我正在使用c#.net紧凑框架3.5,我想将视频文件转换为字节数组,以便我可以将其上传到服务器上.
我以类似的方式进行图像上传,获得成功结果.
HttpWebRequest request;
request.ContentType = "image/jpeg";
request.ContentLength = byteArray.Length;
request.Method = "PUT";
imageToByteArray(img).CopyTo(byteArray, 0);
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(byteArray, 0, (int)Fs.Length);
requestStream.Flush();
requestStream.Close();
}
public byte[] imageToByteArray(Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Jpeg);
return ms.ToArray();
}
Run Code Online (Sandbox Code Playgroud)
如何为视频文件执行此操作?
我想将.Net Compact Framework 3.5制作的Windows Mobile应用程序降级为.Net Compact Framework 2.0 SP2.
但是......我不知道如何使这段代码与2.0版兼容.
XDocument doc = XDocument.Load(string.Format(Open_Cell_Id_Uri, new object[]{
Settings.OpenCellIDApiKey,
towerDetails.MobileCountryCode,
towerDetails.MobileNetworkCode,
towerDetails.TowerId,
towerDetails.LocationAreaCode
}));
using (System.Xml.XmlReader reader = doc.CreateReader())
{
...
}
Run Code Online (Sandbox Code Playgroud)
我使用System.Xml更改了使用System.Xml.Linq,但这一行抱怨:
using (System.Xml.XmlReader reader = doc.CreateReader())
Run Code Online (Sandbox Code Playgroud)
如何从XmlDocument获取XmlReader?
这是我降级的代码:
XmlDocument doc = new XmlDocument();
doc.Load(string.Format(Open_Cell_Id_Uri, new object[]{
Settings.OpenCellIDApiKey,
towerDetails.MobileCountryCode,
towerDetails.MobileNetworkCode,
towerDetails.TowerId,
towerDetails.LocationAreaCode
}));
using (System.Xml.XmlReader reader = doc.CreateReader())//;
{
...
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在开发智能手机应用程序,我在winform中有一个DataGrid.
我想获取所选行的单元格的值..
我正在C#和.NET CF上编写一个Windows移动应用程序,它使用当前存储在RAM中的大量数据.由于Windows CE中的虚拟内存限制,我需要减少RAM使用量.我想知道使用SQL CE数据库并将数据存储在数据库中是否会减少RAM的使用.所以,基本上我需要知道何时使用SQL CE数据库,数据是存储在磁盘上还是存储在RAM上.
任何人都可以帮我吗?
我在Windows Mobile 6.1上使用visual studio 2008和.net compact framework 3.5创建了一个本地化的应用程序.为了实现本地化,我为此使用了许多资源文件,每个文件对应一个:
StringResources.de-DE.resx
StringResources.es-ES.resx
StringResources.en-GB.resx
StringResources.fr-FR.resx
StringResources.nl-NL.resx
我还有一个StringResources.resx文件,其中包含回退的默认字符串,以防我的应用程序不支持其他文化.
我还使用"SmartDeviceCabProject"(vdproj类型)创建了一个.cab文件,以在设备上执行此应用程序的安装.(使用msdn.microsoft.com/en-us/library/aa446504.aspx)
这是我面临的问题: 当我将文化改为nl-NL以外的任何东西时,我总是得到默认字符串.
另请注意,当我将应用程序的"bin"文件夹粘贴到设备中时,会看到所有文化字符串.仅当通过cab文件安装应用程序时才会出现问题.
此外,如果我删除StringResources.nl-NL.resx文件,只有
StringResources.de-DE.resx
StringResources.es-ES.resx
StringResources.en-GB.resx
StringResources.fr-FR.resx
作为特定于文化的资源并重新创建cab文件,现在看到当我将文化更改为fr-FR以外的任何文件时,我总是得到默认字符串.因此,只有最后一个文化文件始终有效.
为了确保我通过设备上的cab文件区分了每个文化文件夹中安装的dll:de-DE\Application.StringResources.dll
ES-ES\Application.StringResources.dll
EN-GB\Application.StringResources.dll
FR-FR\Application.StringResources.dll
NL-NL\Application.StringResources.dll
奇怪的是我发现所有的dll完全相同.但是,如果我对"bin"文件夹中存在的dll进行区分,则会发现它们不同.
因此,我认为.cab文件构建导致将相同的DLL复制到每个文件夹.
考虑到上述说明,请帮助我:
**1.如何使cab文件安装适当的DLL到文件夹?
有没有其他方法来放置正确的dll?
有没有其他方法可以实现本地化?**
在.NET应用程序的发布版本中运送.pdb文件会导致性能或内存损失吗?
我的团队维护一个Compact Framework(Windows Mobile 6.0)应用程序,我们希望减少下载和安装大小.在调查我们的选项时,我们意识到我们正在发送.pdb文件,以便我们可以在日志文件中获取详细的堆栈跟踪.
由于.pdb文件使应用程序的大小加倍,我们决定在没有符号提供的额外细节的情况下生活.
不过,我想知道,如果从发布版本中删除这些内容,我们也会看到性能提升.
默认情况下何时加载调试符号?他们似乎需要在应用程序启动时加载,在这种情况下,我们应该看到更快的启动时间.
我理解将.pdbs包含在发布应用程序中的优点/缺点,但我没有找到任何具体解决运行时使用它们的方法.
c# ×6
.net ×5
.net-3.5 ×1
data-binding ×1
datagrid ×1
downgrade ×1
file-upload ×1
linq-to-xml ×1
localization ×1
networking ×1
resources ×1
smartphone ×1
stream ×1
webrequest ×1
webresponse ×1
winforms ×1