Tag: asp.net

如何崩溃应用程序池?

我们的ASP.NET 2 Web应用程序非常优雅地处理exception。 我们在Application_Error中的Global ASAX中捕获exception。 从那里我们loggingexception,我们向用户显示一个友好的信息。 不过,今天早上我们部署了我们网站的最新版本。 它运行了半个小时,但是App Pool崩溃了。 在我们恢复之前的版本之前,网站没有恢复。 我如何使应用程序池崩溃,并跳过正常的exception处理程序? 我试图复制这个问题,但目前还没有运气。 更新 :我们find了解决scheme。 我们的其中一页是屏幕上的另一个页面。 但是URLconfiguration不正确,页面无限地屏蔽了自己 ,从而导致了堆栈溢出exception。

ScriptManager.RegisterStartupScript代码不工作 – 为什么?

过去我使用过这样的代码来成功地在我的asp.net网页上popup警告消息。 现在它不工作。 我无法弄清楚为什么。 ScriptManager.RegisterStartupScript(this, typeof(Page), UniqueID, "alert('This pops up')", true); 有任何想法吗?

如何在global.asax中处理会话结束?

我正在聊天应用程序工作,我用HashTable包含用户和运算符作为ChatRoom类的键和对象作为HashTable的值。 主要问题是,当用户或操作员closures浏览器或断开没有注销,然后它会自动注销会话结束。 请帮助我相关的,以及如何在这个问题上使用Global.asax。

高效的数据表组

我想在DataTable上执行一个聚合查询来创build另一个DataTable。 我无法改变用于创build初始DataTable的SQL。 原始DataTable :(一切都是一个int) TeamID | MemberID ——-|———– 1 | 1 1 | 2 1 | 3 2 | 4 2 | 5 预期结果: TeamID | MemberIDCount ——-|————– 1 | 3 2 | 2 如果是SQL,我可以做 Select TeamID, Count(*) From Table Group By TeamID 但在我的应用程序中,我知道如何处理这个问题的唯一方法就是这样的: Dictionary<int,int> d = new Dictionary<int,int>(); foreach (DataRow dr in dt.Rows) { […]

在ASP.NET中使用静态variables而不是应用程序状态

我在飞机上使用静态variables,而不是ASP.NET中的应用程序状态,我想知道这是否是正确的方法: [Global.asax.cs] … public class Global : System.Web.HttpApplication { void Application_Start(object sender, EventArgs e) { // Code that runs on application startup } … private static Dictionary<string, object> cacheItems = new Dictionary<string, object>(); private static object locker = new object(); public static Dictionary<string, object> CacheItems { get { lock (locker) { return cacheItems; } } […]

GridView按代码隐藏列

我想在我的GridView中隐藏ID列,我知道代码 GridView1.Columns[0].Visible = false; 但令人惊讶的是,我的GridView列的计数属性是0! 而我可以在GridView看到数据,所以有什么想法? 谢谢, 更新: 这里是填充GridView的方法的完整代码 public DataSet GetAllPatients() { SqlConnection connection = new SqlConnection(this.ConnectionString); String sql = "SELECT [ID],[Name],[Age],[Phone],[MedicalHistory],[Medication],[Diagnoses] FROM [dbo].[AwadyClinc_PatientTbl]order by ID desc"; SqlCommand command = new SqlCommand(sql, connection); SqlDataAdapter da = new SqlDataAdapter(command); DataSet ds = new DataSet(); da.Fill(ds); return ds; }

在asp.net应用程序中启用c#7

我刚刚开始在Visual Studio 2017中使用旧的解决scheme。只需在旧的IDE中打开解决scheme即可无缝工作。 c#应用程序项目现在默认为c#7.0编译器。 这些项目(编译/高级)的属性页面可以轻松select编译器的目标语言版本,默认是最新版本。 我找不到在asp.net web项目中启用c#7.0的方法。 如果我写一个陈述如: if (int.TryParse("1", out int myInt)) { … } IDE警告我说我需要使用该语言的版本7+。 我对这个主题的研究显示,我应该针对web.config文件的system.codedom编译器区域中的特定c#版本,以便定位最新的Roslyn版本。 我现在拥有的是: <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/> 哪些目标c#6.什么是C#7的正确设置,只要我已经下载最新的Roslyn与nuget? 更新这里是一个Web项目的可用编译选项(这是意大利VS2017,但应该很容易理解)的屏幕截图。 没有可能在那里select目标C#版本。

了解WCF Windows身份validation

我有一个与Windows身份validation服务。 使用下面的代码,我可以获得(通过使用客户端)使用该服务的用户的Windows身份。 String currentUser = OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name; 服务器中的configuration是: <binding name="messageSecurity"> <security mode="Message"> <message clientCredentialType="Windows"/> </security> </binding> 我也读过,在服务器上,它正在使用Kerberos进行工作。 现在,我正在试图了解它在我们公司networking中的意义。 在办公室中,用户将使用其活动目录凭证login到他们的桌面。 我们的服务托pipe在名为“SERV1”的Windows服务器中。 只有有权访问(login)到“SERV1”的用户才能访问该服务? 或者所有能够login到办公室networking的用户(启动活动目录凭证)都能够使用该服务? 有没有办法确保只有首席信息官批准的应用程序将访问服务,保持服务为Windowsauthentication? 这个validation检查是针对每个服务操作调用发生还是仅针对第一次调用? 有什么办法的服务将能够知道用户的Windows凭据? 注意:我所了解的是WindowsAuthentication可以与会员提供商进行比较 – 从集中位置提供用户名和密码。 它可以与ASP.Net成员资格提供程序或Active Directory成员资格提供程序进行比较。 进一步阅读: ASP.NET Active Directory成员资格提供程序和SQL Profile Provider wcf数据合同授权 http://www.theserverside.net/tt/articles/showarticle.tss?id=ClaimsBasedSecurityModel

如何使用ASP.NET C#中的foreach获取CheckBoxList中选定项的值?

我有一个像这样的CheckBoxList: <asp:CheckBoxList ID="CBLGold" runat="server" CssClass="cbl"> <asp:ListItem Value="TGJU"> TG </asp:ListItem> <asp:ListItem Value="GOLDOZ"> Gold </asp:ListItem> <asp:ListItem Value="SILVEROZ"> Silver </asp:ListItem> <asp:ListItem Value="NERKH"> NE </asp:ListItem> <asp:ListItem Value="TALA"> Tala </asp:ListItem> <asp:ListItem Value="YARAN"> Sekeh </asp:ListItem> </asp:CheckBoxList> 现在我想使用foreach从这个CheckBoxList中获取所选项目的值,并将这些值放入一个列表中。 注意 :我宁愿代码简短。

System.Threading.Tasks – 限制并发任务的数量

我刚刚开始在.Net 4.0中查看新的“System.Threading.Tasks”的好处,并想知道是否有任何构build支持限制一次运行的并发任务的数量,或者如果这应该手动处理。 EG:如果我需要调用100次计算方法,有没有办法设置100个任务,但是只能同时执行5个? 答案可能只是创build5个任务,调用Task.WaitAny,并创build一个新的任务,每个前一个完成。 如果还有更好的方法,我只想确保我不会错过任何一个技巧。 基本上,是否有内置的方式来做到这一点: Dim taskArray() = {New Task(Function() DoComputation1()), New Task(Function() DoComputation2()), … New Task(Function() DoComputation100())} Dim maxConcurrentThreads As Integer = 5 RunAllTasks(taskArray, maxConcurrentThreads) 感谢您的帮助。