几个星期以来,我们正在使用ASP.Net Web应用程序遇到W3WP崩溃问题.这些是在我们的网络服务器更新后开始的.我们的申请没有变化,并且多年来一直稳定.
我们的情况似乎与之前的问题非常相似.而这个问题也可能是相关的,但在我们的情况下,查询中使用的时代99.9%运行良好.
我们使用了大量未编译的LINQ查询,并尝试编译它们可以防止这些崩溃.崩溃的次数急剧减少,但仍然会发生.
还将我们的查询包装在一个try catch
然后捕获TargetInvocationException
它不起作用.没有抓住异常.
发生崩溃时,我们会收到WER报告并可以检索崩溃转储.
来自转储的堆栈跟踪对于未编译的查询通常如下所示:
at System.RuntimeMethodHandle.InvokeMethod(Object target,Object [] arguments,Signature sig,Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,Object [] parameters,Object [] arguments)
at System.Delegate.DynamicInvokeImpl(
System.Data.Linq.SqlClient.QueryConverter.VisitExpression
上的System.Data.Linq.SqlClient.QueryConverter.VisitInvocation(表达式节点)
中的System.Data.Linq.SqlClient.QueryConverter.VisitInvocation(InvocationExpression invoke)中的Object [] args)(表达式exp)
System.Data.Linq.SqlClient.QueryConverter.VisitBinary(BinaryExpression b)
System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node)
at System.Data.Linq.SqlClient.QueryConverter.VisitExpression(Expression exp) )
位于System.Data.Linq.SqlClient.QueryConverter.Visit(
表达式节点)
的System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node)
中的System.Data.Linq.SqlClient.QueryConverter.VisitBinary(BinaryExpression b)at at System.Data.Linq.SqlClient.QueryC
System.Data.Linq.SqlClient
上的System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node)
中的System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall (MethodCallExpression mc)上的onverter.VisitWhere(表达式序列,LambdaExpression谓词) 位于System.Data.Linq的System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node)的
System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall(MethodCallExpression mc)
中的.QueryConverter.VisitWhere(表达式序列,LambdaExpression谓词)
.
System.Data.Linq
上的System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node)
中的System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall (MethodCallExpression mc)中的SqlClient.QueryConverter.VisitSelect(表达式序列,LambdaExpression选择器)
System.Data.Linq.SqlClient.QueryCon中的System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall(MethodCallExpression mc)
中的.SqlClient.QueryConverter.VisitDistinct(表达式序列)
System.Data.Linq.SqlClient
上System.Data.Linq.SqlClient.SqlProvider.BuildQuery(表达式查询,SqlNodeAnnotations注释)
中的System.Data.Linq.SqlClient.QueryConverter.ConvertOuter (表达式节点)处的verter.VisitInner(Expression node) …
使用wsdl.exe /l:CS /serverInterface
,我从WDSL文档生成了一个C#接口.我已经在WCF类上实现了该接口.生成的服务在本地运行:
http://localhost:51454/TapasSim.svc
Run Code Online (Sandbox Code Playgroud)
这显示默认站点.当我附加?wsdl
到URL 时出现问题:
http://localhost:51454/TapasSim.svc?wsdl
Run Code Online (Sandbox Code Playgroud)
与我的预期不同,此链接不会返回WDSL文档!相反,它指向你没有的确切网页?wsdl
.因此,我无法引用Web服务.如果我运行svcutil.exe
它会出现此错误:
如果您尝试生成客户端,这可能是因为元数据文档不包含任何有效的合同或服务,或者因为发现所有合同/服务都存在于/ reference程序集中.验证是否已将所有元数据文档传递给该工具.
但我希望这个错误与缺乏回复的原因相同?wsdl
.
什么可能导致WCF .svc
服务不生成WSDL?
在IIS 6中,我们曾经使用两个第三方组件进行Url Rewriting:Helicon(用于处理无扩展网址)和UrlRewriting.net.前段时间我们迁移到IIS 7 - 经典模式,仍然使用这两个组件.
现在我们尝试使用本机.Net路由切换到没有第三方组件的集成模式.路由工作正常,但我们的Web应用程序表现完全不同.我们的网络服务器曾经保持低于10%的CPU使用率,但现在很容易使用50%甚至更高.
我们已经开始分析内存转储,但似乎没有找到问题的根源.似乎.Net缓存机制正在阻止垃圾收集器?这与使用"集成模式"有什么关系?
您可以在下面找到我们分析的摘录.任何关于下一步的建议都将不胜感激.
> !analyze -v -hang
*****************************
*
* Exception Analysis
*
*****************************
GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/00000000.htm?Retriage=1
FAULTING_IP:
+aceb6a0
00000000`00000000 ?? ???
EXCEPTION_RECORD: ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000000000000
ExceptionCode: 80000003 (Break instruction exception)
ExceptionFlags: 00000000
NumberParameters: 0
FAULTING_THREAD: 0000000000000022
BUGCHECK_STR: HANG
PROCESS_NAME: w3wp.exe
ERROR_CODE: (NTSTATUS) 0xcfffffff - <Unable to get error code text>
EXCEPTION_CODE: (NTSTATUS) 0xcfffffff - <Unable to get error code text>
MOD_LIST: <ANALYSIS/>
NTGLOBALFLAG: …
Run Code Online (Sandbox Code Playgroud) asp.net performance iis-7 memory-dump integrated-pipeline-mode
我目前正在尝试编写一个脚本,将用户的角色更改为另一个,而不会在 SQL Server 数据库中创建重复项。
例如:
User_ID Role_ID
---------------------
A X
A Z
B Y
C X
C Y
D Y
Run Code Online (Sandbox Code Playgroud)
用户可能有多个角色。
我想更改它,以便角色 Y 中的所有用户现在都是角色 X 的成员,角色 Y 将不再存在:
User_ID Role_ID
---------------------
A X
A Z
B X
C X
D X
Run Code Online (Sandbox Code Playgroud)
通过将所有 Y 角色更新为 X,这可能会创建重复值;因此我只需要在新值不存在时更新,否则只需删除此值
在我的应用程序中,我使用旧的SQLite插件.自MVVMCross 3.0.14以来,不推荐使用此版本,建议使用Community.Sqlite插件.
社区插件是通过Nuget添加的.
当尝试在没有引导程序的情况下使用插件时,在运行时我收到错误:
创建时,无法解析ISQLiteConnectionFactory类型的参数connectionFactory的参数...
当尝试将插件与引导程序一起使用时,也在运行时,我收到错误:
插件未注册类型Cirrious.MvvmCross.Community.Plugins.Sqlite
该插件应该如何使用?
-Edit-这是我的引导程序代码:
using Cirrious.MvvmCross.Community.Plugins.Sqlite;
public class SqlitePluginBootstrap : MvxPluginBootstrapAction<PluginLoader>
{
}
Run Code Online (Sandbox Code Playgroud) 我使用以下代码触发infinitescroll on isotope砌体,但是如何使用"Click to load more posts"代替"手动触发器".我尝试从互联网上的解决方案实施,但它们不适合我.谢谢.
/*--------------------------------------------------------------------------------*/
/* infinitescroll
/*--------------------------------------------------------------------------------*/
jQuery(document).ready(function($) {
var $container = $('.masonry');
$container.imagesLoaded( function(){
$container.isotope({
itemSelector : '.item'
});
});
$container.infinitescroll({
// selector for the paged navigation
navSelector : '.post-nav',
// selector for the NEXT link (to page 2)
nextSelector : '.post-nav .prev-post a',
// selector for all items you'll retrieve
itemSelector : '.item',
loading: {
finishedMsg: 'No more pages to load.',
img: 'http://i.imgur.com/qkKy8.gif'
}
},
function( newElements ) {
var $newElems = $( newElements …
Run Code Online (Sandbox Code Playgroud) c# ×2
.net ×1
asp.net ×1
crash ×1
iis-7 ×1
javascript ×1
linq ×1
linq-to-sql ×1
memory-dump ×1
mvvmcross ×1
not-exists ×1
performance ×1
sql ×1
sql-delete ×1
sql-server ×1
sql-update ×1
sqlite ×1
wcf ×1
wordpress ×1
wsdl ×1
xamarin.ios ×1