任何人请解释我在不同提到的IIS版本中的applicationhost.config文件位置.请提及每个iis版本中的确切位置.Apt答案将不胜感激.
在内容管理系统中,版主必须批准对现有文章的更改.目前,系统以纯文本显示文本的旧版本和修订版本.找到实际的差异是一种痛苦.
在GoogleDocs中,有一个"比较修订"功能,突出了两个文档之间的差异.
如果有一个免费组件那么做同样的事情?
如果没有,你会在JavaScript或服务器端编写这样的组件吗?
所有常见的差异工具都是桌面应用程序.
我试图在WinForms应用程序中使用System.Net.WebClient将文件上传到具有Windows身份验证的IIS6服务器,因为它只是"身份验证"方法.
WebClient myWebClient = new WebClient();
myWebClient.Credentials = new System.Net.NetworkCredential(@"boxname\peter", "mypassword");
byte[] responseArray = myWebClient.UploadFile("http://localhost/upload.aspx", fileName);
Run Code Online (Sandbox Code Playgroud)
我得到一个'远程服务器返回错误:(401)未授权',实际上它是401.2
客户端和IIS都在同一台Windows Server 2003 Dev计算机上.
当我尝试在Firefox中打开页面并输入与代码中相同的正确凭据时,页面出现.但是,当使用IE8时,我得到相同的401.2错误.
试过Chrome和Opera,他们都工作.
我在IE Internet选项中启用了"启用集成Windows身份验证".
安全事件日志具有失败审核:
Logon Failure:
Reason: An error occurred during logon
User Name: peter
Domain: boxname
Logon Type: 3
Logon Process: ÈùÄ
Authentication Package: NTLM
Workstation Name: boxname
Status code: 0xC000006D
Substatus code: 0x0
Caller User Name: -
Caller Domain: -
Caller Logon ID: -
Caller Process ID: -
Transited Services: -
Source Network Address: 127.0.0.1
Source …Run Code Online (Sandbox Code Playgroud) 我使用asp.net [WebMethod]将.net对象推送回浏览器上的Ajax调用.该对象的一个属性是DateTime类型.
当它到达浏览器时,时间比存储在SQL Server中的时间早7个小时.
好的,所以我的浏览器在秘鲁(GMT-5),服务器在德国(目前是GMT + 2),这就是7小时的来源.
作为修复,我使用Ajax请求在客户端上发送UTC偏移量
d = new Date();
d.getTimezoneOffset();
Run Code Online (Sandbox Code Playgroud)
然后在服务器上我找出那里的偏移量:
// get a local time zone info
TimeZoneInfo tz = TimeZoneInfo.Local;
// get it in hours
int offset = tz.BaseUtcOffset.Hours;
// add one hour if we are in daylight savings
if (tz.IsDaylightSavingTime(DateTime.Now))
{
offset++;
}
Run Code Online (Sandbox Code Playgroud)
现在我可以在发送到浏览器之前修复对象中的时间字段.
我真正的问题是,序列化器如何知道7小时?
http请求不包含任何时间信息.
如果我想要存储在数据库中的确切时间,我会问得太多吗?
更新:
这是一个例子,数据库中的日期是:2009年10月15日22:00
没有附加TimeZone信息.
当我在我的开发机器上调用我的WebMethod时,客户端和服务器显然位于同一时区,服务器的JSON是:
{"d":{"TheDate":"\/Date(1255662000000)\/"}}
Run Code Online (Sandbox Code Playgroud)
德国远程服务器的JSON是:
{"d":{"TheDate":"\/Date(1255636800000)\/"}}
Run Code Online (Sandbox Code Playgroud)
在Firebug中看到的JSON相差7小时.此时尚未涉及JavaScript.
我有一个想法是asp.net将一个TimeZone附加到一个会话,但似乎并非如此.
我在我的 aspx 页面中使用带有属性 [WebMethod] 的方法。我不使用任何 asp.net ajax,而是使用 jQuery 来调用这些方法并返回 JSON 中的对象。这一切都很好。
接下来,我在 webMethod 内添加了授权检查,如果当前用户无权访问该功能,我需要让调用 JavaScript 知道。
因此,我抛出一个 AccessViolationException 异常,然后可以通过 JavaScript 中的 OnError 回调函数对其进行解析。这也有效,但例外包括完整的 StackTrace,我不想将其提供给调用客户端。
当 WebMethod 返回业务对象时,我还可以使用哪些其他方法向客户端返回“访问被拒绝”?
我正在使用 ASP.Net 3.5SP1 和 jQuery 1.32
只需添加如下所示的零
[assembly: AssemblyVersion("2.03.406.2")]
Run Code Online (Sandbox Code Playgroud)
结果见2.3.406.2
这不是我想要的.
所以这可能不可能?
我正在使用jQuery v1.4.4和jQuery UI 1.8.10.我在文本字段上有一个自动完成功能,当用户输入某些文本时,它会正常工作,显示结果.此时,用户可以单击结果外部或按"Esc"关闭结果列表.
如果我使用搜索方法以编程方式启动搜索,也会显示结果,但ESC按钮或单击结果框外部不会关闭结果.
我在这里错过了什么?
HTML:
<input id="txtTest" />
<input type="button" id="btnGo" value="Go" />
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var availableTags = [
"ActionScript",
"Java",
"Java 6",
"JavaScript",
"Scheme"
];
$("#txtTest").autocomplete({ source: availableTags });
$("#btnGo").click(function() { $("#txtTest").autocomplete("search", "j"); })
Run Code Online (Sandbox Code Playgroud) 我有一个针对".NET Framework 4 Client Profile"的.NET Winform应用程序,它使用了另外四个类库程序集,但它们也都是针对客户端配置文件.
当我在安装了4.0 Client Profile的vanilla Windows XP盒子上测试时,我仍然得到'.NET Framework Initialization Error':
要运行此应用程序,首先必须在.NET框架上安装以下版本之一:.NETFramework,Version = v4.0
如何找出应用程序的哪个部分仍然需要完整框架的一个组件?
我假设通过将目标框架设置为"客户端配置文件",编译器将确保我只使用客户端配置文件的组件.
.net ×2
asp.net ×2
iis ×2
asmx ×1
autocomplete ×1
c# ×1
compare ×1
diff ×1
iis-7 ×1
iis-7.5 ×1
iis-8 ×1
iis-express ×1
jquery-ui ×1
json ×1
ntlm ×1
timezone ×1
versioning ×1
web-services ×1
webclient ×1