这是一个MVC2网站,我遇到了FormsAuthentication票证的问题.30分钟后用户超时无法重新登录.在测试期间,DateTime.Now.AddMinutes(30)值设定为5000,一切正常,但是现在改为30,这是再当问题开始
从cookie创建
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
user.UserID,
DateTime.Now,
DateTime.Now.AddMinutes(30),
false,
"user,user1",
FormsAuthentication.FormsCookiePath);
Run Code Online (Sandbox Code Playgroud)
Web.config文件
<authentication mode="Forms">
<forms loginUrl="~/Account.mvc/LogOn" timeout="2880" name=".ASPXFORMSAUTH" />
</authentication>
Run Code Online (Sandbox Code Playgroud)
票证创建中的到期值是否必须> = web.config值?
c# cookies formsauthentication formsauthenticationticket asp.net-mvc-2
我有一个视图,它由顶部,左侧和底部标题以及主要内容窗格组成.假设在AJAX请求期间我需要更新顶部,底部和主面板的HTML(左侧标题应保持不变).
我想知道实现这一目标的最佳方法是什么.第一个想法是将主内容面板放入局部并具有将返回PartialView的控制器操作.这不起作用,因为当操作仅返回主窗格的HTML时,我无法更新顶部和底部标题.
因此,如果我将顶部和底部标题放入各自的部分视图中,我将需要我的控制器操作来返回多个部分视图.这有可能吗或我正在做一些完全偏离轨道的事情?
我看到可以渲染一个字符串的局部视图,所以我认为我可以在动作中使用这种技术来返回一个JSON对象,该对象具有3个属性,表示我需要更新的3个部分的HTML.但如果可能的话,这对我来说就像是一种非常错误的方法.
我的另一个想法是返回一个只包含部分所需数据的JSON对象,并使用javascript构造HTML.但是在javascript中构建UI看起来很困难(主要内容部分使用MvcContrib的GridView进行分页和排序).
因此,我非常感谢有关处理此类情况的最简洁方法的建议.自适应解决方案也很棒:例如,如果用户禁用了javascript,它只会在没有AJAX的情况下重新加载整个页面.
更新:
Andrew Siemer 建议将每个部分放入其自己的部分视图中并执行多个ajax请求.这似乎是一种非常有效的方法,但遗憾的是它不适用于我的场景,因为我在初始问题描述中遗漏了以下细节:顶部标题实际上用于显示主面板中发生的事件的错误/信息消息.因此,例如,我需要显示错误消息,以防在获取主面板的模型时抛出异常.因此,只有一个请求才能更新这两个面板.
我正在使用EF CTP 4,使用POCO模型,添加一个新对象并调用SaveChanges(),但更新对象不起作用.这是更新的代码:
public void UpdateContact(Contact contact)
{
var findContact = GetContact(contact.ContactID);
findContact = contact;
_context.SaveChanges();
}
public Contact GetContact(int contactId)
{
return GetAllContacts().SingleOrDefault(c => c.ContactID == contactId);
}
public IQueryable<Contact> GetAllContacts()
{
return _context.Contacts;
}
Run Code Online (Sandbox Code Playgroud)
我不确定我在这里做错了什么.任何的想法?谢谢.
我的视图如下所示:
<%@ Control Language="C#"
Inherits="System.Web.Mvc.ViewUserControl<TMS.MVC.BusinessSystemsSupport.Models.SearchDataTypeModel>" %>
<table class="classQueryResultsTable">
<!-- the header -->
<tr class="headerRow">
<td>
<%= Html.ActionLink("Effective Startdate",
"SortDetails",
"DataQryUpdate",
new
{
model = Model,
sortBy = "EffectiveStartDate",
},
new { @class = "classLinkLogDetails" })%>
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我的控制器动作:
public ActionResult SortDetails(SearchDataTypeModel model, String sortBy)
{
Run Code Online (Sandbox Code Playgroud)
model参数为null.sortBy参数已填充.我可以将模型中的String属性传递给操作,没有任何问题.我想传递整个模型.
我有什么想法我做错了吗?
在对其他问题进行一些研究后,我有以下几点:
MyServiceHost:
public class MyServiceHost : ServiceHost
{
public MyServiceHost(IUnityContainer container, Type serviceType, params Uri[] baseAddresses)
: base(serviceType, baseAddresses)
{
if (container == null)
{
throw new ArgumentNullException("container");
}
foreach (var cd in this.ImplementedContracts.Values)
{
cd.Behaviors.Add(new DependencyInjectionInstanceProvider(container));
}
}
}
Run Code Online (Sandbox Code Playgroud)
DependencyInjectionInstanceProvider:
public class DependencyInjectionInstanceProvider : IInstanceProvider, IContractBehavior
{
private readonly IUnityContainer container;
public DependencyInjectionInstanceProvider(IUnityContainer container)
{
if (container == null)
{
throw new ArgumentNullException("container");
}
this.container = container;
}
#region IInstanceProvider Members
public object GetInstance(InstanceContext instanceContext, Message message)
{
return …Run Code Online (Sandbox Code Playgroud) 下面的代码工作正常.但是我需要将失败或成功通知发送到特定地址(b@technospine.com).但是我收到了送货通知邮件到FromMail地址(A@technospine.com).你能帮我解决这个问题吗?
SmtpClient smtpClient = new SmtpClient();
MailMessage message = new MailMessage();
MailAddress fromAddress = new MailAddress("A@technospine.com", "BALA");
MailAddress adminAddress = new MailAddress("b@technospine.com");
smtpClient.Host = "Mail Server Name";
smtpClient.Port = 25;
smtpClient.UseDefaultCredentials = true;
message.From = fromAddress;
message.To.Add(_sendTo); //Recipent email
message.Subject = _subject;
message.Body = _details;
message.IsBodyHtml = true;
message.Headers.Add("Disposition-Notification-To", "b@technospine.com");
message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnSuccess;
message.ReplyTo = adminAddress;
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.Send(message);
Run Code Online (Sandbox Code Playgroud) 我正在寻找实现TraceListener的最佳实践,该TraceListener将从ASP.NET应用程序在SQL Server中写入日志.
在实施这样的课程时应该考虑哪些因素以避免降低性能?
存储过程是否会比普通的ADO.NET INSERT语句更快?
我真的很喜欢将日志写入临时内存缓冲区并在稍后从后台线程将其刷新到数据库的想法,但是哪种数据结构最适合这种情况?Queue <T>似乎是一个很好的候选者,但如果没有一些同步机制我就无法添加元素.
我在互联网上发现了一篇文章,其中显示了一个自定义TraceListener的示例,该示例写入SQL Server,但在将其放入生产代码之前,我希望得到更多反馈.
我使用此代码将数据加载到我的textarea:
jQuery('.content_container').load('http://www.evedalsvardshus.se/plugins/calendar/edit_dates.php', {'value': datum} );
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用以下代码将数据加载到输入文本表单时:
jQuery('.header').load('http://www.evedalsvardshus.se/plugins/calendar/get_header.php');
Run Code Online (Sandbox Code Playgroud)
什么都没发生.get_header.php只包含"asdsd".
谁能帮我?
嗨,我已经在这里工作了5天,并且找不到解决方案我试图让这个去多线,@Html.TextBoxFor(model => model.Headline, new { style = "width: 400px; Height: 200px;"})但我没有运气.
以下是我尝试的内容:
@Html.TextBoxFor.Multiline (does not work)
Run Code Online (Sandbox Code Playgroud)
我把Multiline放在了新的结尾,但是没有用.这样做最简单的方法是什么.
谢谢,我使用的是MVC3 C#
出于测试目的,我希望能够使用EF CodeFirst CTP5手动删除并重新创建数据库.我该怎么做?