我有一个爬虫应用程序(使用C#)从Web下载页面.应用程序需要更多的虚拟内存,即使我处理每个对象甚至使用GC.Collect() .
这个,有10个线程,每个线程都有一个下载页面的套接字.在每个线程中,我有一个byte[] buffer存储页面内容,并有一个string str_content我存储在其中,页面内容在字符串中.我有一个Sytem.Timer每3秒钟的一次,如果每个线程都被停止,给它分配新线程并启动它.
我使用dispose方法甚至GC.Collect()在我的应用程序中使用,但是在3小时内,我的应用程序在虚拟内存上占用500 MB(在Process explorer中的私有字节上为500 MB).然后我的系统将挂起,我应该重新启动我的电脑.
会不会很粗鲁,如果我指定我的byte[]并且string为空?
有什么方法可以用来释放虚拟内存吗?
谢谢 .
我有一个WCF服务,由于这个错误我已经归结为几乎没有.它把我推到了墙上.这就是我现在拥有的.
一个非常简单的WCF服务,其中一个方法返回一个值为"test"的字符串.
一个非常简单的Web应用程序,它使用该服务并将字符串的值放入标签中.
在Win 2003上运行IIS 6且具有SSL证书的Web服务器.
有效的同一服务器上的其他WCF服务.
我将WCF服务发布到它的https位置
我在VS中以调试模式运行Web应用程序,它运行良好.
我将Web应用程序发布到WCF服务所在的同一服务器上的https位置,该服务器位于相同的SSL证书下
我明白了,"远程服务器返回错误:(403)Forbidden"
我几乎已经改变了IIS中的每个设置以及WCF和Web应用程序都无济于事.我已经比较了WCF服务中的设置和一切都是一样的.
以下是WCF服务和WEB应用程序的web.config中的设置:
看来这个问题与Web应用程序有关,但我没有想法.有任何想法吗:
WCF服务:
<system.serviceModel>
<bindings>
Run Code Online (Sandbox Code Playgroud)
<client />
<services>
<service behaviorConfiguration="Ucf.Smtp.Wcf.SmtpServiceBehavior" name="Ucf.Smtp.Wcf.SmtpService">
<host>
<baseAddresses>
<add baseAddress="https://test.net.ucf.edu/webservices/Smtp/" />
</baseAddresses>
</host>
<endpoint address="" binding="wsHttpBinding" contract="Ucf.Smtp.Wcf.ISmtpService" bindingConfiguration="SSLBinding">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpsBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="Ucf.Smtp.Wcf.SmtpServiceBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" httpsHelpPageEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
Run Code Online (Sandbox Code Playgroud)
网络应用:
<system.serviceModel>
<bindings><wsHttpBinding>
<binding name="WSHttpBinding_ISmtpService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" …Run Code Online (Sandbox Code Playgroud) 以下是我的回购的状态.
[~/rails_apps/jekyll_apps/nepalonrails (design)?] ? gst
# On branch design
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: _layouts/default.html
# deleted: _site/blog/2010/04/07/welcome-to-niraj-blog/index.html
# deleted: _site/blog/2010/04/08/the-code-syntax-highlight/index.html
# deleted: _site/blog/2010/05/01/showing-demo-to-kalyan/index.html
# deleted: _site/config.ru
# deleted: _site/index.html
# deleted: _site/static/css/style.css
# deleted: _site/static/css/syntax.css
# modified: static/css/style.css
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)
我突然做了git …
我已成功将自己的网址方案添加到我的应用程序中.应用程序使用这些方案正确启动.
现在我想处理传入的数据,但不调用委托.它是一个通用的应用程序,我已经向AppDelegates添加了以下功能:
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
if (!url) { return NO; }
NSString *URLString = [url absoluteString];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:NSLocalizedString(@"test message", nil)
message:URLString
delegate:self
cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用如下模式进行测试:myapp://appalarm.com ...并且期望在URLString中成为appalarm.com
这有什么问题?
谢谢你的回复!
是否有在SQL服务器表中存储Windows登录的最佳实践(例如,审计表的AddUser字段)?我见过使用sysname,varchar(255)等的表.
ps如果已经回答,请提前道歉.我无法找到或制定正确的查询来查找.
目前我正在尝试在ListView中放置MapView.有人有这个成功吗?它甚至可能吗?这是我的代码:
ListView myList = (ListView) findViewById(android.R.id.list);
List<Map<String, Object>> groupData = new ArrayList<Map<String, Object>>();
Map<String, Object> curGroupMap = new HashMap<String, Object>();
groupData.add(curGroupMap);
curGroupMap.put("ICON", R.drawable.back_icon);
curGroupMap.put("NAME","Go Back");
curGroupMap.put("VALUE","By clicking here");
Iterator it = data.entrySet().iterator();
while (it.hasNext())
{
//Get the key name and value for it
Map.Entry pair = (Map.Entry)it.next();
String keyName = (String) pair.getKey();
String value = pair.getValue().toString();
if (value != null)
{
//Add the parents -- aka main categories
curGroupMap = new HashMap<String, Object>();
groupData.add(curGroupMap);
//Push the correct Icon
if (keyName.equalsIgnoreCase("Phone")) …Run Code Online (Sandbox Code Playgroud) 我知道它应该提高性能和清理字符串,但是我们说没有变量?
可能只是一个
SELECT COUNT( `column` ) AS count FROM `table`
Run Code Online (Sandbox Code Playgroud)
SELECT没有不准备声明的情况?我一直在阅读这两个定义,它们似乎完全相同.任何人都可以指出他们的差异是什么?
谢谢
你知道<code />JSDoc中是否有某种标签吗?我需要在我的文档中添加代码片段,如下所示:
/**
* This function does something see example below:
*
* var x = foo("test"); //it will show "test" message
*
* @param {string} str: string argument that will be shown in message
*/
function foo(str)
{
alert(str);
}
Run Code Online (Sandbox Code Playgroud)
我需要将注释中的代码作为代码显示在JSDoc中(如果没有突出显示语法,至少像预先格式化或具有灰色背景的东西).
Instruments'Leaks告诉我这个UIImage正在泄漏:
UIImage *image = [[UIImage alloc] initWithContentsOfFile:[imagesPath stringByAppendingPathComponent:[NSString stringWithFormat:@"/%@.png", [postsArrayID objectAtIndex:indexPath.row]]]];
// If image contains anything, set cellImage to image. If image is empty, try one more time or use noImage.png, set in IB
if (image != nil){
// If image != nil, set cellImage to that image
cell.cellImage.image = image;
}
image = nil;
[image release];
Run Code Online (Sandbox Code Playgroud)
(类单元格(自定义表格视图单元格)也在dealloc方法中释放cellImage).
我不知道为什么它会泄漏,但肯定是这样.图像以cellForRowAtIndexPath:-method 多次加载.前三个单元的图像不会泄漏(130px高,所有空间都可用).
泄漏没有给我任何其他信息UIImage allocated here in the code leaks.
你能帮我解决一下吗?谢谢 :)
c# ×3
iphone ×2
objective-c ×2
.net ×1
adapter ×1
android ×1
asp.net ×1
facade ×1
git ×1
git-checkout ×1
java ×1
javascript ×1
jsdoc ×1
listview ×1
login ×1
memory ×1
memory-leaks ×1
mysql ×1
mysqli ×1
php ×1
sql-server ×1
types ×1
uiimage ×1
url-scheme ×1
virtual ×1
wcf ×1
xcode ×1