小编msb*_*sbg的帖子

如何设置TcpClient的超时?

我有一个TcpClient,我用它来发送数据到远程计算机上的监听器.远程计算机有时会打开,有时会关闭.因此,TcpClient将无法经常连接.我希望TcpClient在一秒钟后超时,因此它无法连接到远程计算机时花费太多时间.目前,我将此代码用于TcpClient:

try
{
    TcpClient client = new TcpClient("remotehost", this.Port);
    client.SendTimeout = 1000;

    Byte[] data = System.Text.Encoding.Unicode.GetBytes(this.Message);
    NetworkStream stream = client.GetStream();
    stream.Write(data, 0, data.Length);
    data = new Byte[512];
    Int32 bytes = stream.Read(data, 0, data.Length);
    this.Response = System.Text.Encoding.Unicode.GetString(data, 0, bytes);

    stream.Close();
    client.Close();    

    FireSentEvent();  //Notifies of success
}
catch (Exception ex)
{
    FireFailedEvent(ex); //Notifies of failure
}
Run Code Online (Sandbox Code Playgroud)

这对于处理任务非常有效.如果可以,它会发送它,如果它无法连接到远程计算机,则捕获异常.但是,当它无法连接时,抛出异常需要十到十五秒.我需要它在大约一秒钟内超时?我怎样才能改变超时时间?

c# networking tcpclient winforms

68
推荐指数
5
解决办法
8万
查看次数

服务器提交了协议违规.Section = ResponseHeader Detail = CR必须后跟LF,在WinForms中?

我试图使用WebClient/HttpWebRequest从服务器下载一些数据.我使用以下代码来执行此操作:

WebClient client = new WebClient();
client.Credentials = new NetworkCredential("admin", "password");
Stream datastream = client.OpenRead("http://routerlogin.com/cgi-bin/CF_logs.html");
StreamReader reader = new StreamReader(datastream);
Run Code Online (Sandbox Code Playgroud)

服务器是我的页面在路由器的配置中.它可以在浏览器中正常工作,但是当使用我的代码下载时,它会抛出一条WebException消息

服务器提交了协议违规.Section = ResponseHeader Detail = CR必须后跟LF,在WinForms?中.

我找到了一个解决方案,如果他们使用ASP.net,可以使用,将以下内容添加到web.config:

<configuration> 
    <system.net> 
        <settings> 
            <httpWebRequest useUnsafeHeaderParsing="true" /> 
        </settings> 
    </system.net> 
</configuration>
Run Code Online (Sandbox Code Playgroud)

但是,我正在制作一个WinForms应用程序,所以这对我不起作用.有什么替代方法可以解决这个问题?

c# webclient httpwebrequest system.net.webexception winforms

40
推荐指数
1
解决办法
5万
查看次数

如何在WinForms中创建一个不确定的进度条?

如何在WinForms应用程序中创建一个不确定的进度条?在Silverlight和WPF中,您只需将ProgressBar的IsIndeterminate属性设置为true即可.但是,WinForms中不存在此属性.你会如何在WinForms中创建一个不确定的进度条?

c# winforms progress-bar

36
推荐指数
1
解决办法
2万
查看次数

程序下载 - IE CHROME - "通常不会下载,可能很危险."

我有一个C#程序的安装程序,我把它上传到我的网站,但每当我尝试用chrome或IE下载它时,我得到" 我的文件*通常不会下载,可能会很危险." 如果您单击一个小箭头并从菜单中选择"保留",则只能保留它.只有十分之一的用户能够获得我的计划.我怎么能解决这个问题?我听说过数字代码签名,但每年数百美元.这对我来说真的不是一个选择.制作MSI安装程序或将其放在软件网站上会有帮助吗?

internet-explorer message google-chrome download false-positive

29
推荐指数
1
解决办法
2万
查看次数

更改控制台窗口的大小会抛出ArgumentOutOfRangeException

我试图在ac#console应用程序中设置控制台窗口的大小.我收到了ArgumentOutOfRangeException这条消息:

该值必须小于该维度中控制台当前最大窗口大小41.请注意,此值取决于屏幕分辨率和控制台字体.

我用它来设置它:

Console.WindowHeight = 480;
Run Code Online (Sandbox Code Playgroud)

如何正确设置控制台窗口的大小?

c# size console console-application

22
推荐指数
1
解决办法
3万
查看次数

如何在Nokia Maps for WP8中设置Tile Sources的不透明度?

我想利用Windows Phone 8 Nokia Maps API(Microsoft.Phone.Maps.Controls命名空间)的一些新功能.

我有一系列的TileSource课程,每个课程都有不同的形象.我在地图上循环播放图像.

在Windows Phone 7中,我将创建几个Microsoft.Phone.Controls.Maps.MapTileLayer类,为每个类添加一个TileSource,并将它们添加到地图中.然后,我将使用计时器遍历图层,将当前的不透明度设置为1,将其他的不透明度设置为0.

在此输入图像描述

在Windows Phone 8中,没有MapTileLayer类.我可以将所有TileSource类添加到Map.TileSources集合中,但我不能改变它们的不透明度.

如果我一次只添加一个源,对于每个帧添加当前源并删除最后一个源,会有相当大的闪烁,所以这种方法不起作用

在WP8中是否有类似WP7 MapTileLayer或Bing Maps AJAX的类TileLayer或其他一些方式来改变Tile Sources的不透明度?

c# bing-maps here-api windows-phone windows-phone-8

11
推荐指数
1
解决办法
660
查看次数

如何在Visual Studio Express中查看异常详细信息?

如何在VS Express 2012中查看异常详细信息(如消息和堆栈跟踪)?我正在使用Visual Studio Express 2012 for Windows Phone,并且每当调试时抛出异常,所有Visual Studio都会突出显示发生异常的代码行.问题的屏幕截图

debugging exception stack-trace visual-studio visual-studio-2012

9
推荐指数
2
解决办法
1万
查看次数

如何在FTP服务器上复制文件?

如何在FTP服务器上复制文件?我的目标是复制ftp://www.mysite.com/test.jpgftp://www.mysite.com/testcopy.jpg.要重命名文件,我会使用:

var request = (FtpWebRequest)WebRequest.Create("ftp://www.mysite.com/test.jpg");
request.Credentials = new NetworkCredential(user, pass);
request.Method = WebRequestMethods.Ftp.Rename;
request.RenameTo = "testrename.jpg"
request.GetResponse().Close();

FtpWebResponse resp = (FtpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)

但是,没有复制文件的方法.你会如何复制文件?

c# asp.net ftp networking copy

7
推荐指数
1
解决办法
3万
查看次数

部署应用程序时出错0x80072736?

我试图从Visual Studio 2012将我的Windows Phone 8应用程序部署到我的HTC 8X.我收到此错误:

Error   1   Error writing file
'%FOLDERID_SharedData%\PhoneTools\11.0\Install\{12b7fcb7-793b-4023-abeb-14a76d3f7447}\MyApp_Debug_AnyCPU.xap'.
Error 0x80072736: An operation was attempted on something that is not a socket.
 0      0   
Run Code Online (Sandbox Code Playgroud)

该应用目前尚未安装在设备上.重新启动Visual Studio和手机无法解决问题.如果我第二次从Visual Studio部署应用程序而不重新启动它,则错误更改为:

Error   1   0x8974002F      0   0   
Run Code Online (Sandbox Code Playgroud)

我尝试删除bin文件夹并重建解决方案.执行此操作后,错误将更改为:

Error   1   This operation returned because the timeout period expired.     0   0   
Run Code Online (Sandbox Code Playgroud)

手机开发人员已解锁,Windows Phone应用程序已安装并连接到我的手机.我在当前的计算机上部署时没有任何问题.是什么导致了这个问题?

deployment visual-studio visual-studio-2012 windows-phone-8

6
推荐指数
1
解决办法
2377
查看次数

如何从字符串中删除某个索引后的所有字符

我试图在指定的索引后删除字符串中的所有字符.我确信必须有一个简单的功能才能做到这一点,但我不确定它是什么.我基本上是在寻找与c#的string相同的javascript.

javascript string

6
推荐指数
1
解决办法
2万
查看次数