我不太了解C#中的流.现在我有一个流放入流阅读器并阅读它.稍后在其他一些方法中我需要读取流(相同的流对象),但这次我得到了这个错误
System.ArgumentException was unhandled by user code
Message="Stream was not readable."
Source="mscorlib"
StackTrace:
at System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(Stream stream)
at ExtractTitle(Stream file) in :line 33
at GrabWebPage(String webPath) in :line 62
at lambda_method(ExecutionScope , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException:
Run Code Online (Sandbox Code Playgroud)
所以我想也许是通过阅读流程到最后.然后,当我尝试再次读取它时,它位于流的末尾,这就是为什么我收到此错误.
那么有人可以对此有所了解吗?
谢谢
我试图理解并确切地指出何时在flex/flash中使用渐进式下载与rtmp.似乎主要的一点是,rtmp不提供http,而渐进式下载是.由于它不是rtmp,因此资源受到保护,因为无法从swf外部连接到rtmp服务器.
即使用户可以看到该目标代码并且可以找出位置
<object data="http://media.example.com/jw-player/player.swf" >
<param value="streamer=rtmp://sub.example.com/video
&file=1330/title/folder2/theflvresource.flv
&id=FlvPlayer" name="flashvars">
</object>
Run Code Online (Sandbox Code Playgroud)
他们无法连接到rtmp.所以当你想要保护资源时,rtmp似乎更有用吗?这就是它的全部吗?
我想弄清楚如何截断第一段,我试过:
$div.children( ('p:eq(0)').substring(0,100));
$div.children( ('p:eq(0)'.substring(0,100)));
Run Code Online (Sandbox Code Playgroud)
但两个都没有奏效......
这是完整的代码(有人在这帮助我!)
$j('#hp-featured-item > div[id^="post-"]').each(function() {
var $div = $j(this),
$h2 = $div.find('h2:first'),
$obj = $div.find('object, embed, img').filter(':first'),
id = this.id.match(/^post-([0-9]+)$/);
if( $obj.size() > 0){
// Find parent
var $par = $obj.closest('p');
// Move to top of div
$obj.prependTo($div);
// Remove the now empty parent
$par.remove();
if( $obj.is('img')){
// You can't wrap objects and embeds with links, so make sure we just wrap images
$obj.wrap( $j('<a></a>').attr('href', '/blog/?p='+id[1]));
}
}
// Wrap the contents of the …Run Code Online (Sandbox Code Playgroud) Python的len()和填充函数(如string.ljust())不能识别tabstop,即它们将'\ t'视为任何其他单宽度字符,并且不会将len舍入到最接近的tabstop倍数.例:
len('Bear\tnecessities\t')
Run Code Online (Sandbox Code Playgroud)
是17而不是24(即4+(8-4)+11+(8-3))
并说我也想要一个pad_with_tabs(s)这样的功能
pad_with_tabs('Bear', 15) = 'Bear\t\t'
Run Code Online (Sandbox Code Playgroud)
寻找这些的简单实现 - 首先是紧凑性和可读性,效率第二.这是一个基本但令人恼火的问题.@gnibbler - 你能展示一个纯粹的Pythonic解决方案,即使效率低20倍吗?
当然你可以使用str.expandtabs(TABWIDTH)来回转换,但这很笨重.导入数学也变得非常TABWIDTH * int( math.ceil(len(s)*1.0/TABWIDTH) )矫枉过正.
我无法管理比以下更优雅的东西:
TABWIDTH = 8
def pad_with_tabs(s,maxlen):
s_len = len(s)
while s_len < maxlen:
s += '\t'
s_len += TABWIDTH - (s_len % TABWIDTH)
return s
Run Code Online (Sandbox Code Playgroud)
并且由于Python字符串是不可变的,除非我们想将我们的函数修补为字符串模块以将其添加为方法,我们还必须分配给函数的结果:
s = pad_with_tabs(s, ...)
Run Code Online (Sandbox Code Playgroud)
特别是我无法使用list-comprehension或string.join(...)获得干净的方法
''.join([s, '\t' * ntabs])
Run Code Online (Sandbox Code Playgroud)
没有特殊情况下len(s)<TABWIDTH的整数倍,或len(s)> = maxlen的情况.
任何人都可以显示更好的len()和pad_with_tabs()函数吗?
在C#中,为什么可以这样做
public Int32 Int32 { get; set; }
Run Code Online (Sandbox Code Playgroud)
但不是这个
public int int { get; set; }
Run Code Online (Sandbox Code Playgroud)
在我的问题中我应该更干净,是否有任何理由为什么属性的返回类型可以与属性具有相同的名称?
我有两张桌子......
table1(id,item,price)值:
id | item | price
-------------
10 | book | 20
20 | copy | 30
30 | pen | 10
Run Code Online (Sandbox Code Playgroud)
.... table2(id,item,price)值:
id | item | price
-------------
10 | book | 20
20 | book | 30
Run Code Online (Sandbox Code Playgroud)
现在我想:
update table1
set table1.Price = table2.price
where table1.id = table2.id
and table1.item = table2.item.
Run Code Online (Sandbox Code Playgroud)
我该怎么做?
有人建议一个人如何开始使用autotools来构建C项目?
我们在应用程序中使用boost :: filesystem.我有一个'完整'路径,通过将几个路径连接在一起构建:
#include <boost/filesystem/operations.hpp>
#include <iostream>
namespace bf = boost::filesystem;
int main()
{
bf::path root("c:\\some\\deep\\application\\folder");
bf::path subdir("..\\configuration\\instance");
bf::path cfgfile("..\\instance\\myfile.cfg");
bf::path final ( root / subdir / cfgfile);
cout << final.file_string();
}
Run Code Online (Sandbox Code Playgroud)
最终路径打印为:
c:\some\deep\application\folder\..\configuration\instance\..\instance\myfile.cfg
Run Code Online (Sandbox Code Playgroud)
这是一个有效的路径,但是当我向用户显示它时,我更喜欢它被规范化.(注意:我甚至不确定"标准化"是否是正确的词).像这样:
c:\some\deep\application\configuration\instance\myfile.cfg
Run Code Online (Sandbox Code Playgroud)
早期版本的Boost有一个normalize()功能 - 但它似乎已被弃用和删除(没有任何解释).
有没有理由我不应该使用BOOST_FILESYSTEM_NO_DEPRECATED宏?有没有其他方法可以使用Boost Filesystem库执行此操作?或者我应该编写代码来直接将路径作为字符串操作?
我正在尝试使用Rails的Restful-Authentication插件创建一个简单的身份验证系统,我只是想知道它是如何工作的,b/c我似乎无法弄清楚Cookie的要求是什么,以及如何使它成为现实浏览器总是记得你(6个月以上).
几个问题:
1)你如何为ruby的restful_authentication做记住_me?我似乎无法找到一个好的单线来解决这个问题......
如果用户注册并检查"记住我",那么rails应用程序如何在用户不做任何事情的情况下获取会话/ cookie,而是在下次访问该页面时进入该页面,比如3个月后?
2)我是否需要向服务器发送某种信息,比如他们的IP地址或其他什么?什么cookies[:auth_token],定义在哪里?
目标是:我不希望他们再次输入他们的电子邮件/密码,就像StackOverflow如何工作:)
在这个问题之后,我需要知道应该遵循哪些原则,以便在与其他版本的Delphi兼容的DLL中封装类.我在RAD2010中使用泛型功能创建了一个类,并创建了一个具有返回其实例的函数的dll.当我尝试使用BDS2006或Delphi 6使用DLL时,DLL没有按预期工作.但如果我在其他计算机上使用RAD2010,则没有问题.是否是由于使用以前的Delphi版本中没有的功能(堆栈<>东西?)?对于字符串问题,我已经按照库文件中的注释指示,将ShareMem放在库首先使用子句和我的项目中.我已经将RAD2010中的borlndmm.dll复制到我使用BDS2006尝试DLL的文件夹中.它没有崩溃,但它没有预期的工作.一个函数在RAD2010环境中返回一个空字符串,它工作得很好.
再一次,我有一个问题:为了在与其他版本的Delphi兼容的DLL中封装类,应遵循哪些原则?先感谢您.(为了在没有使用OOP的情况下将函数封装在dll中,我没有为其他版本的Delphi发布).