我正在尝试在Winform中创建Global.asax.我可以在ASP.NET中完成它,但我找不到Windows应用程序的方法.任何帮助将不胜感激.
我有一个名为DataAccessLayer的单例类,我只需要实例化一次,所以我可以轻松地在应用程序的任何地方调用它的方法/属性.
我有一个MVC Web应用程序,在模型中有一个表,我想添加.我有主键设置以及其他数据字段,但每次我尝试添加到表时,我收到以下错误:
"当IDENTITY_INSERT设置为OFF时,无法在表'TABLE_NAME'中为标识列插入显式值."
我不确定为什么会出现这个问题,我将主键设置为标识,并在Visual Studio表设计器中设置为自动增量.有没有什么办法可以在Visual Studio中调整表设计器中的IDENTITY_INSERT参数?或者是否存在可能导致此问题的其他问题.
更新:@Brian - 据我所知,我没有明确设置值,这里是添加到表中的代码.
//Add viewer
public void addViewer(ModelStateDictionary modelState, Users user)
{
var userToAdd = new UserRoles();
userToAdd.Users = user;
if (String.IsNullOrEmpty(userToAdd.Users.Username))
{
modelState.AddModelError("noName", "Please enter a username for the new Viewer");
}
//See if Committee Member already exists
try
{
userToAdd = _db.UserRoles.First(ur => ur.Users.Username == userToAdd.Users.Username);
modelState.AddModelError("userExists", "A Viewer with that username already exists in the system");
return;
}
catch (Exception e)
{
if (modelState.IsValid)
{
//Assign Committee Member role
userToAdd.Role = …Run Code Online (Sandbox Code Playgroud) 更新 - 答案显然是DbLinq没有Dispose()正确实施.D'哦!
以下是所有类型的误导 - 底线:DbLinq(尚未)等同于LinqToSql,就像我最初问这个问题时所假设的那样.请谨慎使用!
我正在使用DbLinq的Repository Pattern.我的资源库对象实施IDisposable和Dispose()方法不唯一-电话Dispose()上DataContext.每当我使用存储库时,我将其包装在一个using块中,如下所示:
public IEnumerable<Person> SelectPersons()
{
using (var repository = _repositorySource.GetPersonRepository())
{
return repository.GetAll(); // returns DataContext.Person as an IQueryable<Person>
}
}
Run Code Online (Sandbox Code Playgroud)
这个方法返回一个IEnumerable<Person>,所以如果我的理解是正确的,那么在Enumerable<Person>遍历之前不会实际查询数据库(例如,通过将其转换为列表或数组或在foreach循环中使用它),如下例所示:
var persons = gateway.SelectPersons();
// Dispose() is fired here
var personViewModels = (
from b in persons
select new PersonViewModel
{
Id = b.Id,
Name = b.Name,
Age = b.Age,
OrdersCount = b.Order.Count() …Run Code Online (Sandbox Code Playgroud) 我有一个小型的MVC2应用程序,它以两种文化显示:en-US和es-MX.一部分包含用于预先填充模型中当前日期的日期的用户输入.
使用en-US时,日期字段显示为MM/dd/yyyy,可以使用相同的格式更改,而不会导致任何验证错误.
使用es-MX时,日期字段显示为dd/MM/yyyy,但是当以此格式编辑日期时,服务器端验证将失败并显示以下消息:
值'17/05/1991'对日期无效.
关于该消息的第一件事就是它没有本地化.消息本身(我认为我无法控制)和字段的显示名称(我可以控制并在我的代码中本地化).应该以本地化格式显示.
我已经尝试单步执行代码以查看验证失败的确切位置,但它似乎发生在我看不到的一些已编译的MVC或DataAnnotations代码中.
应用程序详细信息:IIS6,ASP.NET 3.5(C#),MVC 2 RTM
样本型号代码:
public class TestVieModel{
[LocalizedDisplayNameDisplayName("TheDateDisplayName", NameResourceType=typeof(Resources.Model.TestViewModel))]
[Required(ErrorMessageResourceName="TheDateValidationMessageRequired", ErrorMessageResourceType=typeof(Resources.Model.TestViewModel))]
[DataType(DataType.Date)]
public DateTime TheDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
样本控制器操作代码:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Save(TestViewModel model) {
if(ModelState.IsValid) { // <--- Always is false when using es-MX and a date foramtted as dd/MM/yyyy.
// Do other stuff
return this.View("Complete", model);
}
// Validation failed, redisplay the form.
return this.View("Enter", model);
}
Run Code Online (Sandbox Code Playgroud)
示例查看代码:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<HispanicSweeps.Web.Model.LosMets.EnterViewModel>" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML …Run Code Online (Sandbox Code Playgroud) 当用户点击文本字段时,清除文本字段中文本的最佳方法是什么?
即,如果文本搜索字段显示"搜索"并且当它们单击它时,它将清除该值.
我最近被聘为网络开发人员,我监督的项目在其中一个页面上有格式化问题,因为其中一个div是不合适的.这是一个相当复杂的页面,有相当多的PHP,从我可以收集到的,我在</div>某处遗漏了一个标签,因此一切都搞砸了.
我目前正在使用notepad ++,它在排队div方面很不错,这意味着如果你点击开始的div标签,它会突出显示紫色并突出显示结束标记.但似乎如果你有div标签跨越几行(数百)它将无法工作.
有没有其他人遇到类似的情况?是否有一个更好的编辑器,我可以用来更好地帮助我解决我的div问题?或者我是否必须经过并逐步排列div?(有超过100个).请告诉我!!谢谢
好吧我正在为Ubuntu Linux在MonoDevelop中创建一个应用程序,但是编译的文件总是一个windows exe,我把它设置为Linux二进制文件编译但是我很困惑,任何人都可以解释如何得到一个适当的Linux方式打开程序?
谢谢
我创建了一个以Azure辅助角色托管的ADO.Net WCF数据服务.我想将凭证从简单的控制台客户端传递到服务,然后使用QueryInterceptor验证它们.不幸的是,凭证似乎没有通过网络.
以下是我正在使用的代码的简化版本,从服务器上的DataService开始:
using System;
using System.Data.Services;
using System.Linq.Expressions;
using System.ServiceModel;
using System.Web;
namespace Oslo.Worker
{
[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
public class AdminService : DataService<OsloEntities>
{
public static void InitializeService(
IDataServiceConfiguration config)
{
config.SetEntitySetAccessRule("*", EntitySetRights.All);
config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
}
[QueryInterceptor("Pairs")]
public Expression<Func<Pair, bool>> OnQueryPairs()
{
// This doesn't work!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
if (HttpContext.Current.User.Identity.Name != "ADMIN")
throw new Exception("Ooops!");
return p => true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我用来在Azure工作者角色中实例化AdminService的AdminService:
using System;
using System.Data.Services;
namespace Oslo.Worker
{
public class AdminHost : DataServiceHost
{
public AdminHost(Uri baseAddress)
: …Run Code Online (Sandbox Code Playgroud) 有一个名为Xobni的outlook插件,它有一个非常酷的功能,如果一个联系人有一个电子邮件地址,它将获取该联系人的个人资料图片并显示它.他们的FAQ说明如下:
Xobni向Facebook发送加密的电子邮件地址,以检索当前正在Xobni边栏中查看的人的Facebook个人资料.您自己的Facebook个人资料永远不会被Xobni更改,并且在查看其他个人资料时会严格遵守所有Facebook隐私设置.
我想复制这个功能.但是,我无法确定他们正在使用哪个API调用.我假设当他们说"加密的电子邮件地址"时,这是电子邮件哈希的外行人的条款.一旦导出了用户名,图形api看起来非常适合实际获取图像,但是我无法从电子邮件哈希转到配置文件ID.
想知道命令中的-j选项是什么意思zip.我找到了如下解释:
-j
Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path (relative to the current path).
Run Code Online (Sandbox Code Playgroud)
但不太确定它究竟是什么意思?任何人都可以使用以下命令作为示例解释它吗?
C:\programs\zip -j myzipfile file1 file2 file3
Run Code Online (Sandbox Code Playgroud)
谢谢.
asp.net ×2
c# ×2
html ×2
.net ×1
asp.net-mvc ×1
binary ×1
command-line ×1
dblinq ×1
editor ×1
facebook ×1
javascript ×1
localization ×1
monodevelop ×1
notepad++ ×1
php ×1
sql ×1
t-sql ×1
ubuntu ×1
validation ×1
wcf ×1
winforms ×1
zip ×1