我不太了解C#中的流.现在我有一个流放入流阅读器并阅读它.稍后在其他一些方法中我需要读取流(相同的流对象),但这次我得到了这个错误
System.ArgumentException was unhandled by user code
Message="Stream was not readable."
Source="mscorlib"
StackTrace:
at System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(Stream stream)
at ExtractTitle(Stream file) in :line 33
at GrabWebPage(String webPath) in :line 62
at lambda_method(ExecutionScope , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException:
Run Code Online (Sandbox Code Playgroud)
所以我想也许是通过阅读流程到最后.然后,当我尝试再次读取它时,它位于流的末尾,这就是为什么我收到此错误.
那么有人可以对此有所了解吗?
谢谢
在我的网站上,我需要知道人们所在的时区,以便在适当的时间向他们显示消息.我不太确定在如何执行此操作的教程方面要搜索什么.
我打算做的是:当用户访问我的网站时,他们将通过从下拉列表中选择来设置他们的时区.我将他们的设置存储在我的数据库中,并用它来计算时间.
我不确定我需要什么.我的数据库时间应该存储什么?我在某处读到它应该存储为UTC.如何设置我的数据库来执行此操作?此外,我将在一个共享主机站点,所以它必须以我能做到的方式设置(可能通过webconfig?).
接下来,我需要一个包含所有时区的列表,作为HTML帮助程序或常规HTML.我真的不想做一个.
然后,就像我说的,我需要一个教程,告诉我该怎么做.我认为这是从那时起添加和减去的东西,但我可能是错的.
我在我的根web.config中有这个
<mailSettings>
<smtp from="no-reply@test.com" deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\temp"/>
<network host="localhost"/>
</smtp>
</mailSettings>
Run Code Online (Sandbox Code Playgroud)
当然,当我把它放到我的托管服务器时,我不希望它保存到硬盘我希望它发送电子邮件.
所以我会有这样的事情
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network host="smtp.mysite.com" userName="myuser" password="mypassword" />
</smtp>
</mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)
我怎么能把它放在我的web.release.config中?我应该只更换mailSettings.我还不确定如何改造.
我只是看一些我的旧代码,我有一个动作过滤器(OnActionExecuting方法)
最后我有
base.OnActionExecuting(filterContext);
Run Code Online (Sandbox Code Playgroud)
为什么要四处搜索,我会看到这几次.我也看到在我的旧授权标签中,我将基座称为基座.
我应该总是在之后调用基本方法吗?
我在一个网站上读到你可以在JavaScript中创建常量变量,如:
const x = 20;
Run Code Online (Sandbox Code Playgroud)
但在另一个网站上我读到你不能.所以我现在很困惑现在是什么?
同样在Visual Studio 2010中,当我编写const
它时,它会在JavaScript文件中加下划线并显示语法错误.
我想知道有没有办法判断是否仍然设置超时
var t=setTimeout("alertMsg()",3000);
Run Code Online (Sandbox Code Playgroud)
当你清除它时我觉得它会像未定义的那样.但它似乎有一些不被清除的id.
授权标签如何确定用户是否获得授权?
比方说,如果用户登录并且他们尝试转到具有Authorize标记的视图.它如何确定用户是否获得授权?它是否对数据库进行查询并检查?
如果他们使用角色授权进入视图怎么样?它是否查询成员资格角色表?
我只是想知道,因为我有ASP.NET成员资格表认为重复的userNames.我使用了大量的字段来确定哪个用户是什么,允许用户具有相同的重复userName,但在我的数据库中仍然是唯一的.
这导致我必须为许多.NET成员资格编写自定义方法,因为它都使用"userName"来搜索而不是使用UserId.
所以我现在想知道是否可以使用Authorize标签.因为我不知道它是如何工作的,如果我不使用.NET成员资格,我就不知道如何确定它.
我想知道是否有其他程序或方式来配置除NHibernate探查器之外.我的试用用完了,我买不起它.
那么还有其他选择吗?
我正在查看本教程http://asp-umb.neudesic.com/mvc/tutorials/validating-with-a-service-layer--cs,了解如何围绕包装器包装我的验证数据.
我想使用依赖注入.我正在使用ninject 2.0
namespace MvcApplication1.Models
{
public interface IValidationDictionary
{
void AddError(string key, string errorMessage);
bool IsValid { get; }
}
}
Run Code Online (Sandbox Code Playgroud)
//包装
using System.Web.Mvc;
namespace MvcApplication1.Models
{
public class ModelStateWrapper : IValidationDictionary
{
private ModelStateDictionary _modelState;
public ModelStateWrapper(ModelStateDictionary modelState)
{
_modelState = modelState;
}
#region IValidationDictionary Members
public void AddError(string key, string errorMessage)
{
_modelState.AddModelError(key, errorMessage);
}
public bool IsValid
{
get { return _modelState.IsValid; }
}
#endregion
}
}
Run Code Online (Sandbox Code Playgroud)
//控制器
private IProductService _service;
public ProductController()
{ …
Run Code Online (Sandbox Code Playgroud) Nuget将包放在我的根文件夹中(在我的情况下是我的trunk文件夹).我想知道有没有办法让VS 2010了解这个文件夹?我正在使用ankh svn进行通勤,所以在我的解决方案中使用它会非常好,所以当我添加一个引用时我可以从VS 2010提交它而不必去我的主干并手动执行它.
可以这样做吗?
asp.net-mvc ×3
c# ×3
javascript ×2
.net ×1
ankhsvn ×1
asp.net ×1
constants ×1
modelstate ×1
nhibernate ×1
nhprof ×1
ninject ×1
nuget ×1
packages ×1
smtp ×1
solution ×1
timezone ×1
web-config ×1