我知道TCP提供类似流的数据传输,但主要问题是 - 通过TCP发送数据时会出现什么情况?
1.可以将消息拆分为N个块以适合MTU大小.
2.在1次recv调用中可以读取两条消息.
可以有下一个情况吗?
MTU例如1500字节.
客户端调用以1498字节数据发送.
客户端调用以100字节数据发送.
服务器调用recv并接收1500字节数据.
服务器调用recv并接收98字节数据.
因此,当第一个服务器recv中将收到来自第二个客户端发送的2个字节时,它最终会出现这种情况.
我的协议定义为foolows:
4个字节 - 数据长度
数据内容.
我想知道当4个字节(数据长度)被分成2个块时我能想出什么情况吗?
我正在使用jquery进行客户端验证以及数据注释.一切正常,但我想在数字文本框中输入非数字值时本地化一条消息.但是对于客户端验证,asp.net mvc正在使用它自己的资源文件,其密钥为'ClientDataTypeModelValidatorProvider_FieldMustBeNumeric'.
我能怎么做?
谢谢.
我正在尝试为一些遗留代码创建单元测试.我必须测试的一个类叫做FileDownloader,它只有以下一个方法:
public void Transmit(string fileName, HttpResponse response, DownloadFileType fileType, byte[] content)
{
response.Clear();
response.ClearHeaders();
response.ContentType = "application/xls";
response.AddHeader("content-disposition", "attachment; filename=" + HttpContext.Current.Server.UrlEncode(fileName));
response.BinaryWrite(content);
response.End();
response.Flush();
}
Run Code Online (Sandbox Code Playgroud)
我不允许重构这个代码(这本来是理想的!).
为了测试这个,我决定根据下面的文章创建一个假的HttpContext
有了这个,我可以在测试执行期间获得假的HttpContext,但是伪造HttpResponse存在问题.
以下是我的测试结果:
[SetUp]
public void SetUp()
{
mocks = new MockRepository();
FakeHttpContext.CreateFakeHttpContext();
}
[Test]
public void ShouldTransmitHttpResponseInTheSpecifiedFormat()
{
FileDownloader downloader = new FileDownloader();
string path = "..\\..\\Fakes\\DummyDownloadReportsTemplate.xls";
byte[] bytes = ReadByteArrayFromFile(path);
downloader.Transmit("test.xls", new HttpResponse(new StringWriter()), DownloadFileType.Excel, bytes);
}
Run Code Online (Sandbox Code Playgroud)
我正在将自定义创建的HTTPResponse对象传递给该方法.当它命中"response.BinaryWrite(content)"行时抛出以下异常:
System.Web.HttpException:使用自定义TextWriter时,OutputStream不可用.
我不确定我究竟应该在这里断言...因此在测试中没有断言.这是测试这种方法的正确方法......任何想法.请指教 ?
谢谢
如果我想使用数据库存储不同的特殊字符组,如何选择使用哪种排序规则怎么办?例如,如果我将整理设置为克罗地亚语并且想要使用俄语西里尔字母,日语字符除克罗地亚特殊字符 - 我应该使用哪种排序规则?
谢谢,伊利亚
我一直在尝试阅读32位和64位处理器(http://en.wikipedia.org/wiki/32-bit_processing).我的理解是32位处理器(如x86)具有32位宽的寄存器.我不确定这意味着什么.所以它有特殊的"内存空间",可以存储最多2 ^ 32的整数值?
我不想听起来很愚蠢,但我不知道处理器.我假设64位通常优于32位.虽然我的电脑现在(一年前,Win 7,Intel Atom)有一个32位处理器.
我目前正在使用ASP.NET 3.5 / IIS7应用程序,正在使用WinHost作为临时托管环境。我遇到了一些我认为是权限问题的戏剧,票务流程刚刚达到“您自己”的阶段。
这是我想做的事情:
var dir = Server.MapPath("~/MyFolder/NewPath");
Directory.CreateDirectory(dir);
Run Code Online (Sandbox Code Playgroud)
这是我得到的回应:
拒绝访问路径“ E:\ web \ MyAccount \ MyFolder \ NewPath”。
说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息:System.UnauthorizedAccessException:拒绝访问路径“ E:\ web \ MyAccount \ MyFolder \ NewPath”。
堆栈跟踪显示CreateDirectory行失败。该应用程序在本地运行良好,并且该应用程序池在其下运行的标识具有对“ MyFolder”路径的写访问权。在这两种环境中,信任级别都设置为“完全”。
WinHost的指导是:
默认情况下,asp.net用户对您的站点具有完全权限。
进一步查看,WindowsIndentity.GetCurrent()。Name返回“ W02 \ aspnet_17884”,它似乎是帐户特定的标识。我的感觉是该帐户无权写入应用程序的文件系统,但是当我在此提示WinHost时,我收到了:
您遇到的问题与您的应用程序配置有关。
和
我建议您做的是注册然后在DiscountASP.NET社区论坛中发布您的问题
这显然是为什么问题现在出现在Stack Overflow上的原因:)
谁能建议任何应用程序级别的配置更改?这是否更有可能是托管站点上的权限问题?谢谢。
更新:我也在WinHost论坛上提出了问题。
我已成功在我的计算机上安装了Apache Juddi v3安装程序(tomcat版本).我现在想要的是发布一个找到WSDL的服务
http://localhost:8080/axis2/services/CmmdcService/wsdl
Run Code Online (Sandbox Code Playgroud)
为此,我创建了一个独立的Java应用程序(从Juddi文档开始),它发布了在上述位置找到的服务.
发布部分看起来没问题,但后来我想查询juddi数据库中的服务,但是应该包含找到的服务的字段总是null
(getServiceInfos()).我真的不知道出了什么问题,我没有在互联网上找到任何关于此的好文档或教程.
在这里您可以找到该计划的来源.只需将其归档并转到该./publish
文件夹即可.该应用程序在那里找到.
我正在Firefox,Chrome和Internet Explorer中调试我的Web应用程序.使用后者我使用开发人员工具来调试我的脚本.
我遇到的问题是,当我在控制台窗口中编写一些表达式并且它应该返回一个对象时,我只能看到一个简单的{...}
实际上并没有用.
是否可以使其与实际显示对象内容的Firebug或Chrome控制台类似.Chrome在这方面是最好的,因为您可以像在Visual Studio中一样直接遍历整个对象.
无论如何.是否可以使IE Developer Tools控制台显示对象属性及其值?
我已经搜索了互联网等,但无法找到我的问题的解决方案.我正在创建一个列表视图并设置一个适配器:
myListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, theStringList));
Run Code Online (Sandbox Code Playgroud)
theStringList是一个带有items的简单LinkedList <String>.
而且android.R.layout.simple_list_item_1
是:
<TextView android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center_vertical"
android:paddingLeft="6dip"
android:minHeight="?android:attr/listPreferredItemHeight"/>;
Run Code Online (Sandbox Code Playgroud)
问题:listView项目只适合文本而不是整个屏幕?!?!?