一个静态类的性能,将所有的字符串存储在一个地方
我正在考虑通过创建一个静态类来重构代码,该静态类将所有字符串都放在一个网站上使用的消息/键/等.它可以轻松维护. 现在,我关心的是以下内容. 根据我在PHP的经验,负载速度非常重要.我必须平衡硬码和动态生成的内容. 通常,我的重构将如何影响加载速度?由于C#Web应用程序已预先编译,这真的不是要考虑的问题吗? 解决方案 考虑使用重新编译到线程安全的缓存类中,因此更好地使用静态类中的静态可读字段.主要优点是它更可维护,因为 这是一种常见的做法 您可以使用资源编辑器编辑字符串 很容易更改资源位置(例如,在DB中存储字符串) 您可以替换资源库,而无需重新编译整个网站 本地化网站很容易 很容易列出翻译的所有字符串 其他解决方案 如果您想为永不更改的常数使用静态类.使用常数: public class Constants { public const string Message1 = "Here is a message";
0 2023-05-24
编程技术问答社区
IIS + compression-webpack-plugin (gzip)-Loading failed for "script" with source
我使用 compression-webpack-plugin 在我的ASP.NET MVC 5项目中将我的JavaScript文件压缩为GZ格式. 我 webpack.config.js 带有 compression-webpack-plugin 设置: const CompressionPlugin = require('compression-webpack-plugin'); module.exports = { //... plugins: [ //... new CompressionPlugin({ test: /\.(js|css)$/, filename: '[path].gz[query]', algorithm: 'gzip', deleteOriginalAssets: true }), ], //... }; 工作正常: 下一步是在IIS中启用GZIP压缩,因此首先
6 2023-05-22
编程技术问答社区
将Excel转换为PDF后 无法打开该文件
我尝试将excel转换为PDF,我可以将其转换.但是在打开该文件时,我会在图像中遇到错误. 我已经参考了此链接如何以编程方式将Word Files转换为PDF?从此链接中,我可以求解我的单词到PDF文件转换问题.我不必在服务器上安装Office,而我想为excel和PPT文件进行同样的事情. 我的代码: // Create a new Microsoft Excel application object Microsoft.Office.Interop.Excel.Application excelApplication = new Microsoft.Office.Interop.Excel.Application(); // C# doesn't have optional arguments so we'll need a dummy value object oMissing = System.Reflection.Missin
0 2023-05-22
编程技术问答社区
Rotativa ActionAsPdf()非常慢
使用 rotativa 1.6.4 来自Nuget,并使用下面的代码注意到以下问题. ActionAspDF随机悬挂不确定的时间. 悬挂的代码: var pdfResult = new ActionAsPdf("Report", new {id = Request.Params["id"]}) { Cookies = cookieCollection, FormsAuthenticationCookieName = FormsAuthentication.FormsCookieName, CustomSwitches = "--load-error-handling ignore" }; 背景信息可能会有所帮助: 使用ActionAspDF来忽略自定义开关忽略拨打wkhtmltopdf.exe的记录问题,但它不会仅在wkhtmltopdf呼叫中抑制代码中的错误. 观察,用法和测试:
0 2023-05-22
编程技术问答社区
如何从Web API应用中返回一个PDF文件
我有一个在服务器上运行的Web API项目.它应该从两种不同类型的来源返回PDF:一个实际的便携式文档文件(PDF)和存储在数据库中的base64字符串.我遇到的麻烦是将文档发送回客户端MVC应用程序.其余的是有关发生的一切和我已经尝试的所有细节. 我已经写了代码,该代码成功地将这两种格式转化为C#代码,然后(Back)转换为PDF表单.我已经成功地传输了一个应该代表其中一个文档的字节数组,但是我无法将其显示在浏览器中(在新的标签中).我总是得到某种"无法显示"错误. 最近,我采取了一种查看服务器端的文档的方法,以确保我至少可以让它做到这一点.它将文档输入代码中,并通过它创建一个文件归纳,然后它以(隐式铸造)ActionResult返回.我得到了返回服务器端MVC控制器,然后将其扔进一个简单的返回(无视图),该返回显示PDF在浏览器中恰好.但是,尝试直接进入Web API函数只会返回fileStreamResult的JSON表示. 当我尝试将其正确返回到我的客户端MVC
2 2023-05-22
编程技术问答社区
如何使用多个具有不同验证信息的regex表达式?
要求 我想使用多个正则表达式来检查密码策略. 对于每个违反政策的行为,我想显示一条特定的验证消息. 示例: 您需要至少使用2个数字 您需要使用至少一个上部和一个下部案例字母 您需要至少使用8个字母 ... 尝试 我尝试使用多个正则表达式(流利验证Match(string expression)),但是ASP.NET MVC不允许具有多个正则表达式. 多次看到以下验证类型:REGEX 问题 如何在流利验证中使用多个正则验证器? 解决方案 您可以使用摘要验证器中定义的自定义方法: public class UserValidator : AbstractValidator { public UserValidator () { Custom(user => { Regex r1 = define regex that validates that there are a
0 2023-05-21
编程技术问答社区
如何用ASP.NET MVC 5的UserManager重置密码
我想知道是否有一种方法可以使用 of asp.net MVC 5 重置密码 我尝试了已经有密码但没有成功的用户.有任何线索吗? IdentityResult result = UserManager.AddPassword(forgotPasswordEvent.UserId.ToString(), model.ConfirmPassword); if (result.Succeeded) { // } else { AddErrors(result); } 解决方案 它在这里 asp.net身份重置密码 UserManager userManager = new UserManager(new UserStore()); userManager.RemovePassword(userId); userManager.AddPassword
0 2023-05-21
编程技术问答社区
在父页上显示带有错误的mvc部分视图
我有一个带有多种形式的页面,每种形式都是部分.我想发布每个部分提交.如果有错误,我希望作为主页的一部分显示验证错误在部分中显示.我说只有在Ajax帖子中才能说明这种行为是正确的吗?我如何在没有AJAX帖子的情况下返回模型状态错误,只是正常表格帖子? 编辑: 仍然在自己的页面上看到部分 部分 - @using (Html.BeginForm("Login", "Account", FormMethod.Post, new { id = "LoginForm" })) { @Html.ValidationMessage("InvalidUserNamePassword") User ID @Html.Te
0 2023-05-20
编程技术问答社区
如何编写父子关系的循环结构?
我正在使用Treetable.js.作为过程,我保存了子ID和父级ID.插入数据已成功插入.但是返回数据可能仅在表中显示,也可能会出现分组错误. 然后,我使用iGrouping对象获取转换错误. 请告诉我下面的子女循环结构. 在模型中: public string name {get;set;} public int childId {get;set;} public int ParentId {get;set;} 在控制器中: var list = db.table.groupby(s=>s.parentId).toList(); return view(list); 视图: Name Data Id Parent Id
0 2023-05-19
编程技术问答社区
如何使ASP.net MVC 5中的自定义分页依赖于bootstrap?
如何使用bootstrap使用数据库和实体框架6中的C#MVC5中写入自定义分页? 解决方案 这是我的代码,其正常工作: 注意:此分页代码需要Bootstrap存在 在名为paging.cs的模型中添加新文件: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Mvc.Ajax; using System.Web.Security; namespace project.Models { public class Paging { private projectEntities db = new projectEntities(); public string Pagination(int total, int page, int Take,
0 2023-05-16
编程技术问答社区
当点击浏览器后退按钮时,如何刷新ASP .NET MVC页面?
我刚刚发现,当我在任何ASP .NET MVC页面上单击浏览器返回按钮时,什么也不会发生,并且不会更新页面.只有单击F5时,它将仅更新. 我对页面的DOM进行一些更改的主要问题,即添加表行选择无线电 - 按钮,当我击中浏览器返回按钮时,我看到没有更改. 如何解决ASP .NET MVC 5的解决方案? 感谢您的任何线索... P.S.我读过 http://http://http://forums.asp.net/t/1304752.aspx?wow++refresh+page+when+hithing+back+back+button 但无济于事... 解决方案 这是一个适当的解决方案 http://dotscrapbook.wordpress.com/2011/02/02/handling-a-browser-back-back-back-back-button-press-with-mvc/. [HttpGet] [OutputCache(NoS
2 2023-05-16
编程技术问答社区
MVC 5和Web API之间的Owin认证(独立的IIS应用)。
我使用表单身份验证和携带者令牌具有带有MVC5和Web API(两个不同的IIS应用程序)的工作应用程序.是的,它们必须保留两个独立的IIS应用程序.我将auth令牌用作我的形式身份验证cookie中的用户名,这就是我能够从MVC和Web API来回传递令牌的方式. 我还使用ASP.NET身份2.0. 我想从方程式中验证表单身份验证,只需使用OWIN身份验证,但是当我确实发出了携带者令牌时,在我的MVC应用中始终是错误的. 任何人都可以指向我指示我如何记住MVC和Web API之间的auth令牌? 解决方案 Web上的所有Machineykey.您可以通过阅读我的博客文章. 其他解决方案 您的WebConfig文件的所有机器都必须与将共享Athentication的域相同. 检查 a>关于如何设置它.
4 2023-05-15
编程技术问答社区
IDX10503: 更新至Owin.Security v 4.0.0后签名验证失败
根据受试者,我将Owin.Security.WsFederation和依赖软件包更新为版本4.0,并且我收到了错误. 除了更改 ,我没有进行任何代码更改 using Microsoft.IdentityModel.Protocols; to using Microsoft.IdentityModel.Protocols.WsFederation; WsFederationConfiguration类似乎现在是. 这是我的 startupauth : public void ConfigureAuth(IAppBuilder app) { app.UseCookieAuthentication( new CookieAuthenticationOptions { AuthenticationType = Coo
4 2023-05-15
编程技术问答社区
ASP.NET MVC 5 OWIN认证服务
我刚刚开始知道MVC 5,我正在尝试使用其内置的OWIN身份验证. 我需要使用IIS实现表单身份验证,但是OWIN身份验证比我等待的复杂. 我有一个带有用户,角色和角色表的AZ实体框架模型,并希望通过这些表来验证用户. 我试图弄清楚它是如何在示例MVC 5应用程序上工作的.它有一个应用程序类: public class ApplicationUser : IdentityUser { } public class ApplicationDbContext : IdentityDbContext { public ApplicationDbContext() : base("DefaultConnection") { } } 我的主要问题是IdentityUser.它是具有Iuser接口和DBContext的连接的ASP.NET用户类.我有一个来自EF模型的用户POCO实体,我不想将其与
2 2023-05-15
编程技术问答社区
如何在OWIN MVC5应用程序中捕获一个WS-Federation回调,以便在本地数据库中自动创建一个身份?
我当前正在处理VB.NET MVC5应用程序,并使用WS-Federation来验证ADSF 3.0服务器的所有用户.一切都很好.当用户尝试访问带有授权属性标记的有安全控制器时,用户将重定向到STS登录页面时,他们登录并返回.我能够阅读ADFS服务器提供的索赔. 我的问题是,当新身份验证的用户登录后,我需要在数据库中创建本地条目以存储其他信息.我不希望用户手动注册,如果他经过身份验证,这意味着我可以信任此用户. startup.auth.vb看起来像这样: Partial Public Class Startup Private Shared realm As String = ConfigurationManager.AppSettings("ida:Wtrealm") Private Shared adfsMetadata As String = ConfigurationManager.AppSettings("ida:ADFSMetadata") Public
0 2023-05-15
编程技术问答社区
如何手动重写OWIN-Cookie(MVC5)?
我使用IUserSecurityStampStore实现登录功能.它似乎工作正常,但是我有一个问题是,每次用户更改密码时,她都会登录. 围绕此问题工作的一种可能性是在密码更改后AccountController的Manage SignIn中调用SignIn. 这似乎有效,但我认为这有点笨拙,可能不是正确的方法. 这就是为什么我的问题是: 我如何强制OWIN重写cookie以登录的电流 用户? 如果上述方式是正确的方式,我如何知道用户是否要 她的cookie是否持续不存在(签名希望此信息)? 解决方案 因此,在用户执行导致安全印章更改的操作后,样品和模板呼叫符号.不幸的是,在这种情况下,您没有一个很好的方法来恢复cookie的持续状态,这是我们将在以后的更新中尝试地址. 我提出了一个问题来跟踪此问题以及围绕以下其他相关问题:
2 2023-05-15
编程技术问答社区
基于角色的令牌 ASP.net身份
我使用标准的ASP.NET OWIN OAUTH中间件系统来验证使用携带者令牌的本地用户.我想做的是为同一用户帐户分发基于角色的令牌.例如. OAuth TokenA => General User Privileges UserA -> OAuth TokenB => Admin User Privileges 这是否得到了任何支持? 解决方案 我能够使用以下方法来解决此问题 - //ensure the token is a User role token only identity.AddClaim(new Claim(ClaimTypes.Role, "User")); 其中"身份"是 的实例 System.Security.Claims.Identity 然后在我的System.Web.Http.AuthorizeAttribute实施中,我可以检查索赔 - //get claims o
2 2023-05-15
编程技术问答社区
有什么简单的方法可以在MVC5中实现跨域单点登录?
方案: 两个独立的Web项目,运行OM这些域: account.ilovepandas.com ilovepandas.com 使用ASP.NET身份,MVC5中是否有一种简单的方法来实现共享登录,以便如果用户被登录到iLovepandas.com并转到coundment.ilovepandas.com,他将已经得到认证? i 对该主题进行了研究,并且有一些相当复杂的解决方案,例如ThinkTecture,Owin授权服务器.我的希望是,由于MVC4-5给了我们大修的身份,因此现在有一个更容易的解决方案,我只是找不到. 在我看来,让他们分享auth-cookie似乎很简单. 解决方案 tl; dr:假设两个应用都共享相同的顶级域,则您 can 共享身份验证cookie.在cookie上设置域,并共享在应用程序之间将其解密所需的任何密钥. 在这里,我要假设您正在使用formauthentication. 1)将domain属性添加到authe
0 2023-05-15
编程技术问答社区
MVC5身份/OWIN-签出事件
如何检测所有可能的签名?有没有办法通过超时和任何其他可能的方法手动进行签名时获得一些事件? 我需要知道用户身份验证何时结束,就像我知道它在称为singin时开始. 我同时使用内部帐户和外部帐户(例如Facebook). 解决方案 我需要一个可以在用户已经进行身份验证时可以初始化用户会话的位置.以下是应该完成这项工作的代码,我根本不喜欢它.我需要按每个请求检查会话,以确保会话中的标志已经加载并为当前用户加载. 将来该标志可能是DB的整个属性. 不敢相信没有更好的方法可以检测用户何时签名/OUT. 我所做的是: void Session_Start(object sender, EventArgs e) { InitializeSession_Authenticated(); } protected void Application_AcquireRequestState(Object sender, EventArgs e) {
0 2023-05-15
编程技术问答社区
SignInManager.ExternalSignInAsync与Facebook的合作总是返回失败。
Google+有效,但是Facebook总是返回失败.当我检查logininfo时,它表明身份验证= true. 这是statup.auth.cs中的代码 - 我包括了有效的Google+代码. public void ConfigureAuth(IAppBuilder app) { // Configure the db context, user manager and signin manager to use a single instance per request app.CreatePerOwinContext(ApplicationDbContext.Create); app.CreatePerOwinContext(ApplicationUserManager.Create); app.CreateP
0 2023-05-15
编程技术问答社区