我有一个ASP.NET MVC(beta)应用程序,我正在研究,并且我无法弄清楚我是否做错了什么,或者我Application_Start在Global.asax.cs中的方法实际上是不是在我尝试时触发调试应用程序.
我在我的Application_Start方法中的一行上放了一个断点,并且我希望当我尝试调试应用程序时断点应该被击中...但它永远不会.不是在我重置IIS之后,不是在我重新启动之后,不是.我错过了什么吗?为什么这种方法永远不会被调用?
我有一个单元测试夹具,我正在尝试在ASP.NET MVC控制器上测试一个ControllerAction,该控制器用于Web应用程序上的成员函数.我正在尝试模拟测试的HttpContext.正在测试的ControllerAction实际上设置了HttpContext的属性,例如Session值,Response.Cookies值等.这不是所有代码,但这里是我试图运行的测试的粗略示例:
[Test]
public void ValidRegistrationDataSuccessfullyCreatesAndRegistersUser()
{
var context = new Mock<HttpContextBase>() {DefaultValue = DefaultValue.Mock};
context.SetupAllProperties();
var provider = new Mock<MembershipProvider>(new object[] {context.Object});
var controller = new AccountController(context.Object, provider.Object);
// This just sets up a local FormCollection object with valid user data
// in it to use to attempt the registration
InitializeValidFormData();
ActionResult result = controller.Register(_registrationData);
Assert.IsInstanceOfType(typeof(ViewResult), result);
// Here is where I'd like to attempt to do Assertions against properties
// of the HttpContext, like ensuring that a Session …Run Code Online (Sandbox Code Playgroud) 我有一个我正在研究的ASP.NET MVC应用程序.我一直在使用IIS6和SQL 2008 Express在Windows Server 2003上进行开发,一切都运行良好.我最近决定试用Windows 7测试版,所以现在我正在使用IIS7,并且遇到了与我的数据库连接的问题,我似乎无法弄清楚.
我可以很好地运行/调试应用程序,但每当我尝试访问需要访问数据库的页面时,我都会收到以下错误:
"无法打开登录请求的数据库"MyDatabaseName".登录失败.用户'IIS APPPOOL\MyApplicationName'登录失败."
我显然有一些错误的安全配置设置,但我似乎找不到任何关于如何正确设置它的好文档.我试过在数据库上给予NETWORK SERVICE权限,但这似乎不起作用.任何人都知道我需要做什么来给这个数据库"IIS APPPOOL\MyApplicationName"权限?我错过了一些明显的东西吗
谢谢...
我正在创建一个Web应用程序,用于在我们的数据库中维护PDF文档,这些文档在我们接收传真时通过自动系统进入.用户需要能够查看这些文档,并且当他们以错误的方式放入传真机时,他们需要能够对这些文档执行的一个更常见的事情是翻转/旋转单个页面.这几乎总是180度旋转页面.我已经创建了一个函数来执行此操作,这似乎有效,但只是第一次调用它.对此功能的任何后续调用似乎都不再起作用.与此函数相关的另一个奇怪的事情是,我还有另一个被调用的方法,它会在选定位置向文档添加一些文本.我传入文本和一些坐标,并将文本写入文档中的那些坐标,一切都很好.这里的问题是,后该文件被旋转(在一个时间它会旋转),如果用户试图将文本添加到某个文档,似乎扭转它放置在文字的坐标,文字倒置.
所有这些告诉我,最终,我正在以某种方式错误地进行页面轮换.我似乎无法找到任何关于如何以正确的方式在PdfSharp文档中旋转页面的好样本,因此一些指导将非常有用并且非常感激.提前致谢.
这是我目前用于旋转页面和向页面添加文本的代码:
// This is how I'm rotating the page...
public PdfDocument FlipPage(byte[] documentSource, int pageNumber)
{
using (var stream = new MemoryStream())
{
stream.Write(documentSource, 0, documentSource.Length);
var document = PdfReader.Open(stream);
var page = document.Pages[pageNumber - 1];
page.Rotate = 180;
return document;
}
}
// This is how I'm adding text to a page...
public static void AddTextToPage(this PdfDocument document, int pageNumber, Annotation annotation)
{
var page = document.Pages[pageNumber - 1];
annotation.TargetHeight = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用marionette插件组合骨干应用程序,并且在使初始化程序按照我预期的方式工作时遇到一些麻烦.我有以下代码:
var MyApp = new Backbone.Marionette.Application();
MyApp.addRegions({
region1 : '#div1',
region2 : '#div2'
});
MyApp.Resources = { };
MyApp.bind('initialize:before', function (options) {
// display a modal dialog for app initialization
options.initMessageId = noty({
text : 'Initializing MyApp (this should only take a second or two)',
layout : 'center',
speed : 1,
timeout : false,
modal : true,
closeOnSelfClick : false
});
});
MyApp.addInitializer(function (options) {
$.ajax({
url: options.apiUrl + '/my-app-api-module',
type: 'GET',
contentType: 'application/json; charset=utf-8',
success: function (results) {
MyApp.Resources.urls …Run Code Online (Sandbox Code Playgroud) 我有一个存储过程,我正在尝试使用Dapper执行,这会引发一个看起来与我正在尝试做的事情无关的错误,尽管我似乎无法弄清楚我在做什么错误.
这是我试图调用的存储过程的签名:
ALTER PROCEDURE [dbo].[stp_UpdateInboundDaf]
@InboundType varchar(255),
@Id bigint,
@UserId bigint,
@DonationID bigint = NULL,
@StatusId int = NULL,
@FinalFlag bit = NULL,
@ValidatedFlag bit = NULL,
@SignedFlag bit = NULL
AS ...
Run Code Online (Sandbox Code Playgroud)
这是我为尝试调用该过程而编写的代码:
_cnx.Query("stp_UpdateInboundDaf", new
{
InboundType = parameters.InboundType,
Id = parameters.Id,
UserId = parameters.UserId,
DonationId = parameters.DonationId,
StatusId = parameters.StatusId,
FinalFlag = parameters.IsFinal,
ValidatedFlag = parameters.Validated,
SignedFlag = parameters.Signed
}, commandType: CommandType.StoredProcedure);
Run Code Online (Sandbox Code Playgroud)
这些是传入的参数:

这是我得到的错误:
"当使用多映射API时,如果您有除Id参数名称以外的密钥,请确保设置splitOn参数:splitOn"
UPDATE
该SqlMapper.GetDynamicSerializer(IDataRecord reader, int startBound, int length, bool returnNullIfFirstMissing)方法引发了错误.这是错误位置和堆栈跟踪:

有任何想法吗?
我使用的是小巧玲珑的当前版本(我 …
我正在开发一个ASP.NET MVC项目,允许用户对对象的属性进行批量编辑.该实现是一种类似"向导"的形式,其过程分为四个阶段,如下所示:
非常坦率的.
正如我所提到的,"编辑器"对于每个属性都是唯一的,并且可以在其上具有不同控件的任意组合.一旦用户进行了编辑并且应用程序将该信息发布到"评论"页面,我就是我当前遇到问题的地方.
我们开发了"EditorWorker"类的概念,该类对每个属性都是唯一的,它负责生成每个编辑器所需的ViewModel,但也负责创建/返回(在"Review"页面控制器操作中)对象是可以绑定发布数据的编辑器的"模型"对象,然后可以用它来显示已编辑的数据以供查看.此对象应具有与编辑器中控件的ID匹配的属性,以便可以进行模型绑定.
我已经得到了"EditorWorker"创建并返回所需的类,但由于某些原因,当我打电话TryUpdateModel并传入类,它的属性没有得到填充作为方法调用的结果,因为我希望他们来.我已经验证了值是在发布的FormCollection中.下面是我试图执行此操作的控制器操作的代码.如果有人可以帮助我理解为什么TryUpdateModel不在这种情况下工作,我会非常感激.
[HttpPost]
public virtual ActionResult Review(ReviewBatchViewModel model)
{
var selectedAttributes = GetSelectedAttributes(model.SelectedAttributeIds.Split(',').Select(i => Int64.Parse(i)).ToArray());
var workers = new List<IEditorWorker>();
var reviewData = new Dictionary<ViewAttribute, IEditData>();
foreach (var attribute in selectedAttributes)
{
if (!string.IsNullOrEmpty(attribute.EditorWorker)) // If there is no EditorWorker defined for this object, move on...
{
var worker = ServiceLocator.Current.GetInstance(Type.GetType(string.Format("{0}.{1}", EditorWorkerNamespace, attribute.EditorWorker)));
var attributeEditData = ((IEditorWorker)worker).LoadEditData();
if (TryUpdateModel(attributeEditData))
model.EditData.Add(attributeEditData); …Run Code Online (Sandbox Code Playgroud) asp.net-mvc ×4
c# ×2
backbone.js ×1
dapper ×1
iis-7 ×1
marionette ×1
moq ×1
pdfsharp ×1
security ×1