我有一个ASP.NET 2.0应用程序,在我们的本地环境中工作正常.发布到测试服务器时,我们在服务器上出现间歇性错误.
这是最常见的:
填充无效,无法删除.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Security.Cryptography.CryptographicException: 填充无效,无法删除.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[CryptographicException:填充无效,无法删除.]
System.Security.Cryptography.RijndaelManagedTransform.DecryptData(Byte [] inputBuffer,Int32 inputOffset,Int32 inputCount,Byte []&outputBuffer,Int32 outputOffset,PaddingMode paddingMode,Boolean fLast)+1545747
System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte [] inputBuffer,Int32 inputOffset,Int32 inputCount)+257
System.Security.Cryptography.CryptoStream.FlushFinalBlock()+30 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt,Byte [] buf,Byte []修饰符,Int32 start,Int32 length,Boolean useValidationSymAlgo)+164
System.Web.UI.Page.DecryptString(String s)+83
System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)+148
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+358 System.Web.HttpApplication.ExecuteStep(IExecutionStep step ,Boolean&completedSynchronously)+64
这发生在对特定WebResource.axd请求的请求上.
我们看到的另一个错误是:
验证视图状态MAC失败.如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法.AutoGenerate不能在群集中使用.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Web.HttpException:viewstate MAC验证失败.如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法.AutoGenerate不能在群集中使用.
发布表单时偶尔会发生此错误.
在你跳入并告诉我这个错误的明显(通常)答案之前,请考虑一下:
aspnet_regiss -ga <username>在服务器上运行.没有效果.我正在尝试创建自定义转换,以替代您在此处获得的默认转换,例如:
[self.navigationController pushViewController:someController animated:YES];
Run Code Online (Sandbox Code Playgroud)
我准备了一个基于OpenGL的视图,它对映射到平面的一些静态纹理执行效果(假设它是Core Animation中翻转效果的副本).我不知道该怎么做:
非常感谢任何想法或链接!
UPDATE
Jeffrey Forbes的答案非常适合作为捕获视图内容的解决方案.
我还没想到的是如何捕获我想要转换到的视图的内容,在转换完成之前,该视图应该是不可见的.
另外,我应该使用哪种方法来呈现OpenGL视图?出于演示目的,我使用了pushViewController.这会影响导航栏,但实际上我想用一个动画回到一个项目,请检查此视频以获得解释:
另一个选择是使用presentViewController,但显示全屏.你认为创建另一个窗口(或视图?)可能有用吗?
代码高尔夫系列似乎相当受欢迎.我遇到了一些将数字转换为单词表示的代码.一些例子是(编程乐趣的2的权力):
我的同事出现的算法差不多有两百行.似乎会有更简洁的方法来做到这一点.
现行指南:
我最近遇到了一个有趣的行为.似乎如果我重写.equals()来获取除Object之外的参数,它就不会被调用.任何人都可以向我解释为什么会这样吗?这似乎违反了我对OOP中多态性的理解,但也许我错过了一些东西.
这里有更简单的代码,显示了我所看到的内容:
public class MyClass {
private int x;
public MyClass(int n) { x = n; }
public boolean equals(Object o) { return false; }
public boolean equals(MyClass mc) { return x == mc.x; }
public static void main(String[] args) {
List<MyClass> list = new ArrayList<MyClass>();
list.add(new MyClass(3));
System.out.println("Contains 3? " + list.contains(new MyClass(3)));
}
}
Run Code Online (Sandbox Code Playgroud)
运行时,它会打印" Contains 3? false".它看起来像是调用了equals(Object)函数,即使有另一个函数可以工作.相比之下,如果我写这样的equals代码按预期工作:
public boolean equals(Object o) {
if(!(o instanceof MyClass))
return false;
MyClass mc = (MyClass)o;
return x == mc.x;
} …Run Code Online (Sandbox Code Playgroud) 我见过关于VDPROJ文件生成的MSI文件的混乱行为.如果我在Visual Studio中构建我的MSI,然后右键单击并从Visual Studio中选择"安装",它将自动卸载已安装的任何版本,然后安装新的MSI.
但是,如果采用生成的MSI并直接运行它,如果已经安装了以前的版本,它将会抱怨.我必须先显式卸载它(在"添加/删除程序"中).
这是怎么回事?是否有Visual Studio执行MSI的命令行参数?
我的HTML包含诸如商标"TM"之类的符号作为上标(™).在普通的HTML中,我会使用"™"或™显示商标TM.但是,我找不到将这样的HTML导入Flex并正确显示的方法.我对<li>标签有类似的问题.
我的HTML:
<p>This information is intellectual property of My Company™.</p>
<p>Available features:</p>
<li>Feature 1</li>
<li>Feature 2</li>
<li>Feature 3</li>
<li>Feature 4</li>
<p>COPYRIGHT INFORMATION:</p>
<p>Copyright © 2008, My Company. All rights reserved.</p>
Run Code Online (Sandbox Code Playgroud)
我实现此功能的唯一方法是将内容直接复制并粘贴到Flex中:
<mx:Text width="100%" height="100%">
<mx:htmlText>
<![CDATA[
This information is intellectual property of My Company™.
Available features:
• Feature 1
• Feature 2
• Feature 3
• Feature 4
COPYRIGHT INFORMATION:
Copyright © 2008, My Company. All rights reserved.
]]>
</mx:htmlText>
</mx:Text>
Run Code Online (Sandbox Code Playgroud)
我想使用外部HTML文件,我可以在运行时将其导入到我的Flex App中,这样我就不必重新编译应用程序以进行简单的内容更改.
我听说过iFrame选项有太多问题,所以我想尽可能避免这种情况. …
我有一个包含三个表的数据库:书籍(书籍详细信息,PK是CopyID),关键词(关键词列表,PK是ID)和KeywordsLink,这是书籍和关键词之间的多个链接表,带有字段ID, BookID和KeywordID.
我正在尝试在我的应用中创建一个高级搜索表单,您可以在其中搜索各种条件.目前我已经与Title,Author和Publisher合作(全部来自Book表).它产生如下SQL:
SELECT * FROM Books WHERE Title Like '%Software%' OR Author LIKE '%Spolsky%';
Run Code Online (Sandbox Code Playgroud)
我想扩展此搜索以使用标记进行搜索 - 基本上是添加另一个OR子句来搜索标记.我尝试通过执行以下操作来完成此操作
SELECT *
FROM Books, Keywords, Keywordslink
WHERE Title LIKE '%Joel%'
OR (Name LIKE '%good%' AND BookID=Books.CopyID AND KeywordID=Keywords.ID)
Run Code Online (Sandbox Code Playgroud)
我认为使用括号可能会将第二部分分成它自己的kinda子句,因此仅在该部分中评估连接 - 但它似乎并非如此.它给我的全部是一本书的多个副本的长列表,满足了这Title LIKE '%Joel%'一点.
有没有办法使用纯SQL执行此操作,或者我必须使用两个SQL语句并将它们组合在我的应用程序中(在此过程中删除重复项).
如果这很重要,我现在正在使用MySQL,但该应用程序使用ODBC,我希望使它与数据库无关(甚至可能最终使用SQLite或者拥有它,以便用户可以选择使用哪个数据库).
我有一个包含所有数据库逻辑的类库.我的DAL/BLL.
我有一些Web项目将使用相同的数据库和类,所以我认为将数据层抽象到自己的项目中是一个好主意.
但是,当为某些项目的类添加功能时,我想向某些类添加方法.
例如,我的数据层有Product和SomeItem对象:
// Data Access Layer project
namespace DAL {
public class Product {
//implementation here
}
public class SomeItem {
//implementation here
}
}
Run Code Online (Sandbox Code Playgroud)
在一个项目中,我想添加一个由不同内容项使用的接口,所以我有一个名为的类:
// This is in Web Project
namespace DAL {
public partial class Product : ICustomBehaviour {
#region ICustomBehaviour Implementation
TheSharedMethod();
#endregion
}
}
Run Code Online (Sandbox Code Playgroud)
使用相同的命名空间在单独的项目(创建依赖项)中编写部分类是一个好主意吗?如果这是一个坏主意,我怎样才能使这种类型的功能工作?
它似乎不想在编译时合并它们,所以我不确定我做错了什么.
出于某些原因,我想明确引用字符串值(成为构造的SQL查询的一部分),而不是等待cursor.execute方法对其第二个参数的内容执行的隐式引用.
通过"隐含引用"我的意思是:
value = "Unsafe string"
query = "SELECT * FROM some_table WHERE some_char_field = %s;"
cursor.execute( query, (value,) ) # value will be correctly quoted
Run Code Online (Sandbox Code Playgroud)
我更喜欢这样的东西:
value = "Unsafe string"
query = "SELECT * FROM some_table WHERE some_char_field = %s;" % \
READY_TO_USE_QUOTING_FUNCTION(value)
cursor.execute( query ) # value will be correctly quoted, too
Run Code Online (Sandbox Code Playgroud)
这是READY_TO_USE_QUOTING_FUNCTIONPython DB API规范所期望的低级别(我在PEP 249文档中找不到这样的功能).如果没有,也许Psycopg2提供这样的功能?如果没有,也许Django提供这样的功能?我不想自己写这样的功能......
在jQuery中使用JSONP时是否可以捕获错误?我已经尝试了$ .getJSON和$ .ajax方法,但都没有捕获我正在测试的404错误.这是我尝试过的(请记住,这些都可以成功运行,但我想在失败时处理这种情况):
jQuery.ajax({
type: "GET",
url: handlerURL,
dataType: "jsonp",
success: function(results){
alert("Success!");
},
error: function(XMLHttpRequest, textStatus, errorThrown){
alert("Error");
}
});
Run Code Online (Sandbox Code Playgroud)
并且:
jQuery.getJSON(handlerURL + "&callback=?",
function(jsonResult){
alert("Success!");
});
Run Code Online (Sandbox Code Playgroud)
我也尝试添加$ .ajaxError,但这也不起作用:
jQuery(document).ajaxError(function(event, request, settings){
alert("Error");
});
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的回复!