Questions tagged «asp.net»

ASP.NET是Microsoft开发和销售的Web应用程序框架,允许程序员构建动态Web站点和Web应用程序。它最初于2002年1月以.NET Framework 1.0版发布,是Microsoft Active Server Pages(ASP)技术的后继产品。ASP.NET建立在公共语言运行时(CLR)之上,允许程序员使用任何受支持的.NET语言编写ASP.NET代码。

4
MVC中的实用程序类-ASP.NET
所以我今天想知道,您会将实用程序类放在ASP.NET MVC应用程序的什么位置?实用程序类是指可以静态的类,仅用于执行功能。就像一个类,以电子邮件地址,主题和正文作为参数来发送电子邮件。 我认为也许创建一个单独的文件夹和名称空间就足够了,但是我想让所有人都同意

2
CQRS是否设计过度?
我仍然记得存储库过去的美好时光。但是随着时间的流逝,存储库变得丑陋。然后,CQRS成为主流。他们很好,呼吸着新鲜空气。但是最近,我又一次又一次地问自己,为什么我不能在Controller的Action方法中保持正确的逻辑(尤其是在Web Api中,Action本身就是某种命令/查询处理程序)。 以前,我对此有一个明确的答案:我这样做是为了进行测试,因为很难使用所有这些不可模仿的单例和整体难看的ASP.NET基础结构来测试Controller。但是时代变了,如今,ASP.NET基础结构类对单元测试的友好程度更高(尤其是在ASP.NET Core中)。 这是一个典型的WebApi调用:添加了命令,并通知SignalR客户端有关此命令: public void AddClient(string clientName) { using (var dataContext = new DataContext()) { var client = new Client() { Name = clientName }; dataContext.Clients.Add(client); dataContext.SaveChanges(); GlobalHost.ConnectionManager.GetHubContext<ClientsHub>().ClientWasAdded(client); } } 我可以轻松地对其进行单元测试/模拟。而且,借助OWIN,我可以设置本地WebApi和SignalR服务器并进行集成测试(顺便说一下,速度非常快)。 最近,我越来越不愿意创建繁琐的命令/查询处理程序,并且我倾向于将代码保留在Web Api操作中。仅当重复逻辑或逻辑很复杂并且我想隔离它时,我才例外。但是我不确定我在这里做的事是否正确。 在典型的现代ASP.NET应用程序中管理逻辑的最合理方法是什么?什么时候将代码移动到Commands和Queries处理程序是合理的?有没有更好的模式? 更新。我发现这篇关于DDD-lite方法的文章。因此,看来我将代码的复杂部分移至命令/查询处理程序的方法可以称为CQRS-lite。

7
用C#代码创建HTML的最佳方法是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我相信标记应该保留在标记中,而不是在后面的代码中。 我遇到了一种情况,我认为可以在后面的代码中构建HTML。我想就最佳实践是什么或应该是什么达成共识。 什么时候可以在后面的代码中构建html?什么是创建此html的最佳方法?(示例:字符串,StringBuilder,HTMLWriter等)
15 c#  asp.net  html 


2
jQuery在哪里适合JavaScriptMVC,BackboneJS,SproutCore和Knockout等框架?
在过去的两年中,我一直很愉快地使用JQuery,并且一直非常成功地使用它创建了一些非常酷的功能...所以我对此非常满意。我还相信,网络的未来将继续沿用当前的客户端路径。 然而... 下一个挑战似乎是以各种控制器框架的形式出现的:KnockoutJS,BackboneJS,SproutCore,JavaScriptMVC(清单不胜枚举)。 Additonally,有一些伟大的AMD装载机工具,像使用RequireJS或LabJS等。但是,jQuery的现在已经define和then能力烤项。 跟踪所有信息变得越来越难了... 现在,我的任务似乎是评估/确定使用某种形式的MVC或MVVM框架客户端的战略方向...但是我有很多问题。 JQuery 在哪里适合上述各种控制器框架? 是将JQuery 与每个对象一起使用,还是其中一些包含自己的“ JQuery风格的版本”? 如果实现上述各种控制器框架之一,是否仍需要诸如RequireJS之类的 工具? 现在,加入JQuery的define和then功能是否可以取代上面提到的AMD Loader? 哪一个看起来最模块化?(请参阅下面的注释) 注意: 在任何将来的框架中,我都不需要的一件事是必须接受大量我不使用的功能。意思是说,我宁愿使用真正模块化的框架。例如,要使用jQuery UI,您必须引入许多您可能未实际使用的其他核心库。 我将对每一个进行实验,但是一些真实的反馈会很棒。我已经看到了一些“类似”的问题,但是没有一个人能够真正回答上述问题。 提前致谢!

3
在网络配置中设置连接字符串是否是一种好习惯?
最近,我在工作中与一些同事进行了讨论,因为他们说最好在.DLL中加密一个字符串连接。我说过为什么不使用加密的web.config中定义的字符串连接?一样,更好,因为实体框架(例如,在应用程序的Web配置中查找连接的名称),现在,我想从安全角度了解哪种更好,什么是最佳实践?

9
Silverlight是仅用于糖果吗?还是在商业中有用?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 既然Silverlight可以使令人叹为观止的网站变得非常美丽,那么是否有任何理由使用它来制作具有严重商业目的的实用Web应用程序?我想将其用于学习新任务,即构建一个基于Web的应用程序,以跟踪组织中使用的数据接口,但是我不确定如何证明它的合理性。 ,甚至对我自己。 有什么想法吗?如果我不能证明它的合理性,那么我将不得不使用我已经使用(似乎)已经有一百次的旧的,简单的ASP.NET方法来构建应用程序。

1
为什么有人会使用multipart / form-data进行混合数据和文件传输?
我正在使用C#,正在编写的2个应用程序之间进行一些通信。我开始喜欢Web API和JSON。现在,我正在编写例程以在两个服务器之间发送包含一些文本数据和文件的记录。 根据互联网,我应该使用multipart / form-data请求,如下所示: SO问题“来自C#客户端的多部分表单” 基本上,您手动编写一个遵循如下格式的请求: Content-type: multipart/form-data, boundary=AaB03x --AaB03x content-disposition: form-data; name="field1" Joe Blow --AaB03x content-disposition: form-data; name="pics"; filename="file1.txt" Content-Type: text/plain ... contents of file1.txt ... --AaB03x-- 从RFC 1867复制-HTML中基于表单的文件上传 这种格式对于习惯于使用JSON数据的人来说非常令人不快。因此,很明显,解决方案是创建一个JSON请求,并对文件进行Base64编码,并最终得到如下请求: { "field1":"Joe Blow", "fileImage":"JVBERi0xLjUKJe..." } 我们可以在任何需要的地方使用JSON序列化和反序列化。最重要的是,发送此数据的代码非常简单。您只需为JSON序列化创建类,然后设置属性即可。文件字符串属性的设置很简单: using (FileStream fs = File.Open(file_path, FileMode.Open, FileAccess.Read, FileShare.Read)) { byte[] file_bytes = …

2
Jenkins可以自动部署ASP.NET应用程序
是否有可能使用Jenkins自动/半自动部署ASP.NET Web应用程序。它可以在受控制或不受控制的环境中,因为不受控制的用户需要输入用户名和密码。我正在寻找将文件从目标复制到目标并在Web服务器场方案中运行sql脚本的方法。 编辑 当前,我们正在使用bat文件来xcopy /配置应用程序池/ sql cmd等,以部署应用程序。但是要使其正常工作,生产支持团队需要下载源代码,构建项目并运行bat文件以部署应用程序。 现在,我们希望自动化部署而不需要用户下载源代码,而最终用户只需访问url并填写用户ID和密码参数,然后选择svn标签即可部署。但是Jenkins在匿名登录下运行,因此现有的bat文件将无法运行,因为它没有运行脚本的权限。 因此,我想知道这种情况是否存在其他选择。如果使用输入的用户名和密码来模拟用户上下文,则可以运行现有批处理文件而无需进行进一步更改,那将是很好的选择。如果不可能,我们也想探索其他想法,但是我们没有灵活性来选择诸如puppet之类的自动化工具,我们应该坚持使用这些批处理文件。

6
为什么选择一个已建立的CMS,而不是从头开始构建一个?
在接下来的几周中,我的很多研究将针对不同的CMS。我已经简要介绍了Episerver和umbraco。在阅读这些系统时,我不禁会认为,无需学习许多(相当大的)CMS平台的细节和结构就可以实现提供内容管理功能。 过去,我得到过一些项目,这些项目使我作为开发人员的角色必须与编辑人员的角色保持独立(有意义)。即,我的任务是开发网站的设计和功能,以及客户的工作来更新内容。我通过实现一种“门户”来实现这一点,在该门户上有几个页面可以接受文本输入和图片上传等(基本上,他们想要的任何内容),然后将这些新内容记录到数据库中,然后通过设计,后面的代码会将所有这些信息从数据库中读取到相关控件(例如中继器)中。 对我来说,这已经成为我的客户管理内容以与我的解决方案一起部署的足够有效的方式。我知道我错了-CMS比完全建立的CMS更可取-但除了成本问题之外,为什么呢?
13 asp.net  cms 

4
您如何在多租户系统中管理可扩展性?
我现在有一些基于Web的大型多租户产品,很快我就会发现会有很多针对租户的自定义设置。 这里或那里的额外字段,可能是工作流程中间的额外页面或某些额外的逻辑-诸如此类。 其中一些自定义项可以纳入核心产品,这很棒。其中一些是非常具体的,并且会妨碍其他人。 我有一些想法可以解决这个问题,但是似乎没有一个很好的扩展。显而易见的解决方案是引入大量的客户端级别设置,从而允许基于每个客户端启用各种“功能”。这样做的缺点当然是庞大的复杂性和混乱性。您可能会引入大量的设置,并且随着时间的流逝,各种类型的逻辑(演示,业务)可能会失控。然后是特定于客户的字段的问题,这比起在现有表中添加一堆可以为空的字段来讨价还价。 那么人们在做什么来管理呢?Force.com似乎是可扩展性的主人。显然,他们已经从头开始创建了一个超级可扩展的平台。您可以使用其基于Web的用户界面添加几乎所有内容。FogBugz做了一些类似的事情,他们创建了一个健壮的插件模型,考虑到它,可能实际上是受Force启发的。我知道他们在上面花了很多时间和金钱,如果我没记错的话,目的是在内部实际使用它来进行未来的产品开发。 听起来像我可能会尝试构建的那种东西,但可能不应该这样做。:) 在可插拔架构上进行大量投资是唯一的方法吗?您如何处理这些问题,并且看到了什么样的结果? 编辑:看起来FogBugz确实通过构建一个相当健壮的平台,然后使用它来组装屏幕来解决了该问题。要扩展它,您将创建一个包含实现ISearchScreenGridColumn之类的接口的类的DLL,该DLL成为一个模块。考虑到他们拥有大量的开发人员,并且他们从事了几个月的开发工作,我确信构建起来非常昂贵,而且它们的表面积可能是我应用程序大小的5%。 现在,我很想知道Force.com是否是处理此问题的正确方法。我是ASP.Net的核心人物,所以这是一个很奇怪的职位。

2
在Web应用程序的客户端上存储5000个元素
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我刚刚对ASP.Net开发人员进行了电话面试,在初步介绍之后,面试官问我第一个技术问题: “如何在Web应用程序中为每个用户在客户端存储5000个元素”。 我的回答开始于 每个元素的平均大小是多少?我们真的必须在客户端存储这么多的数据吗?我们不能将其保留在数据库中,并以某种方式将其链接到用户会话/客户端ID 。 他的回答是“不,您告诉我如何将其存储在客户端,考虑到每个元素都是一个包含大约8个字段的记录,包括int / string和一个普通的表行”。 我说:“可以将它们保留在会话中,但是由于会话是在服务器端为每个用户维护的,因此可能会变得昂贵,或者另一种选择是将大量数据存储在cookie中”,我还说我不是确定是否可以在Cookie中存储大量数据。我提到有HTML5存储选项,但我还没有使用它。由于它基于SQLite,因此理论上可以存储那么多数据。 那是面试官有些讽刺地说的地方,因此您在Web开发方面拥有3年的经验,并终止了面试。 我想知道,我做错了什么?还是在客户端存储数据方面我真的缺少一些基本知识。

2
如果使用GPL或AGPL Web应用程序框架/ CMS,会有哪些法律风险?
试图在SO上问这个问题,但在这里被提及了... 我是否正确地说,使用诸如Composite C1之类的GPL网络应用程序框架不会使公司有义务共享我们针对所述框架编写的源代码? 那是AGPL的目的,对吗? 这是否也适用于KendoUI之类的Javascript框架? 如果我们要下载该GPL,那么我们对框架所做的任何更改都必须提供给其他人。 换句话说,仅将网站内容加载到我的浏览器中并不是在“传送”或“分发”该软件。 我一直在争论我们应该避免使用GPL Web框架,现在在研究之后我很确定自己是错的,但还想征询其他意见? 赛斯

4
使用/编写.Net自定义成员资格提供程序有哪些缺点?
最近,我在SO上发布了以下问题:https : //stackoverflow.com/questions/7197337/using-asp-net-membership-provider-with-an-existing-user-database 您可能会注意到,我最后回答了我自己的问题,指出编写/实现“自定义成员资格提供程序”看起来是一种方法。 从字面上看,几分钟后,我偶然发现了这个问题:https : //stackoverflow.com/questions/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/7222407#7222407 我尝试回答并获得评论,.Net成员资格提供程序“在许多级别上都很糟糕”。我承认,这是我第一次使用会员资格提供程序,但对我来说确实如此。 我没有看到任何支持“可怕”主张的东西,因此在实施“可怕”之前,我希望能从社区中得到一些反馈。

4
具有多种环境的Google Analytics(分析)
我们计划在我们的组织中使用Google Analytics(分析),并且由我负责设置。我想知道如何处理多种环境。我们当然不希望在开发和质量检查过程中收集数据(或可能将数据收集到其他分析帐户),但我们希望站点何时投入生产(显然)。 您如何处理多种环境和Google Analytics(分析)? 您是否为Google Analytics(分析)设置了多个帐户,并根据环境使用其中一个? 如果重要的话,我们正在使用ASP.NET 2.0。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.