小编Alb*_*reo的帖子

request.serverVariables()"URL"vs"Script_Name"

我正在维护一个经典的asp应用程序,在查看代码时,我遇到了两行类似的代码:

Request.ServerVariables("URL")
' Output: "/path/to/file.asp"

Request.ServerVariables("SCRIPT_NAME")
' Output: "/path/to/file.asp"
Run Code Online (Sandbox Code Playgroud)

我不明白......有什么区别?他们都忽略了我设置的URL重写,它将/ path文件夹作为根文档(上面的URL被重写为"/to/file.asp")

更多信息:该站点部署在IIS 7上

url request.servervariables asp-classic

5
推荐指数
2
解决办法
2万
查看次数

从经典ASP中的函数返回记录集

我对如何从经典ASP中的函数返回可读记录集感到茫然.

这是我想出来的,但它不起作用:

Response.Clear
Response.CharSet = "utf-8"
Response.ContentType = "text/plain"

Dim Count

Set Count = Test

Response.Write Count.Fields(0).Value


Function Test

    Dim Query, Connection, Command, Recordset

    Query = " blah blah blah "

    Set Connection = Server.CreateObject("ADODB.Connection")
    Set Command = Server.CreateObject("ADODB.Command")
    Set Recordset = Server.CreateObject("ADODB.Recordset")

    Connection.ConnectionString = "blah blah blah"
    Connection.Open

    Set Command.ActiveConnection = Connection
    Command.CommandText = Query

    Set Recordset = Command.Execute

    Set Test = Recordset

    Recordset.Close
    Connection.Close

    Set Recordset = Nothing
    Set Command = Nothing
    Set Connection = Nothing

End Function …
Run Code Online (Sandbox Code Playgroud)

function adodb recordset asp-classic

5
推荐指数
1
解决办法
3万
查看次数

是否可以从Visual Studio 2008导出错误列表?

我想知道是否可以以某种方式导出Visual Studio 2008错误列表,最好是Excel格式.

谢谢.

visual-studio-2008

5
推荐指数
1
解决办法
4327
查看次数

从jQuery调用ASP.NET 4.0 WCF服务会产生400 Bad Request

我知道这个问题似乎已多次发布,但我已经阅读了几乎所有这些问题(互联网上的大部分教程),我仍然无法理解我做错了什么.

我试图在一个网站上实现我们正在开发一个由jQuery脚本使用的WCF Web服务,但是400 Bad Request在做AJAX请求时我一直在想,我开始失去希望.

请注意,我是WCF的新手,我只是通过在线教程形成自己,所以我完全有可能忽略或主要搞砸了.

我尝试但没有帮助的问题:

我阅读的外部资源无济于事:

我还尝试创建一个新的解决方案,只有一个页面和服务,以排除干扰,但我仍然有同样的问题.在这里你可以找到代码:

IService.cs

namespace WebService
{
    using System;
    using System.ServiceModel;
    using System.ServiceModel.Web;

    [ServiceContract(Name = "Service", Namespace = "WebService")]
    public interface IService
    {
        [OperationContract]
        [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        String Test();
    }
}
Run Code Online (Sandbox Code Playgroud)

Service.svc.cs

namespace WebService
{
    using System;

    public class Service : IService
    { …
Run Code Online (Sandbox Code Playgroud)

asp.net ajax wcf jquery c#-4.0

5
推荐指数
1
解决办法
8798
查看次数

反射 PropertyInfo.GetValue

我是在 C# 中使用反射的新手。任何帮助深表感谢。

PropertyInfo.GetValue(obj, null) 给了我一个对象值。

如果数据库中列的值为空,我会得到一个空异常:

System.Reflection.TargetInvocationException:调用的目标已抛出异常。Microsoft.SqlServer.Dts.Pipeline.ColumnIsNullException:该列具有空值。

如何处理这种情况?我应该遍历所有列并保留具有空值的列。

c# reflection ssis

5
推荐指数
2
解决办法
1万
查看次数

尝试从SSIS包保存大于~1.5 MiB的文件时,EPPlus 2.9.0.1抛出System.IO.IsolatedStorage.IsolatedStorageException

问题

当我尝试使用EPPlus保存文件超过~1.5 MiB时ExcelPackage.Save()抛出一个System.IO.IsolatedStorage.IsolatedStorageException.

说明

我与创建一个SSIS包Visual Studio 2008 9.0.30729.4462 QFE,并.NET Framework 3.5 SP1到的内容导出SQL Server 2008 SP2 10.0.4311.0 64 bit通过表EPPlus 2.9.0.1库.

SSIS包非常简单:Execute SQL Task它读取表的内容并将其放在变量中,然后Script task读取记录集变量并通过EPPlus将内容保存到磁盘.

脚本任务的代码是:

namespace ST_00a0b40814db4c7290b71f20a45b62c6.csproj
{
    using System;
    using System.AddIn;
    using System.Data;
    using System.Data.OleDb;
    using System.IO;
    using Microsoft.SqlServer.Dts.Runtime;
    using Microsoft.SqlServer.Dts.Tasks.ScriptTask;
    using OfficeOpenXml;

    [AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
    public partial class ScriptMain : VSTARTScriptObjectModelBase
    {
        public void Main()
        { …
Run Code Online (Sandbox Code Playgroud)

c# ssis targetinvocationexception epplus

5
推荐指数
1
解决办法
5772
查看次数

从控制台应用程序记录SOAP消息

我正在尝试将我开发的控制台应用程序和特定的第三方远程SOAP Web服务之间的请求和响应(原始XML SOAP信封)记录到数据库以进行审计,我无法找到方法来执行此操作.

理想情况下,我想做的是获得请求

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
   <soapenv:Header/>
   <soapenv:Body>
      <tem:SayHello>
         <tem:name>Albireo</tem:name>
      </tem:SayHello>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

和响应

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <SayHelloResponse xmlns="http://tempuri.org/">
         <SayHelloResult>Hello, Albireo.</SayHelloResult>
      </SayHelloResponse>
   </s:Body>
</s:Envelope>
Run Code Online (Sandbox Code Playgroud)

并将它们保存在数据库中.

到目前为止,我发现网上的每个教程都归结为两种方法,即SoapExtension方法和跟踪方法.

SoapExtension方法

SoapExtension方法基于使用SOAP扩展SOAP消息修改指南,在此方法中,您创建一个继承自SoapExtension的类并将其挂钩到应用程序的配置中,类的ProcessMessage方法将允许您拦截SOAP消息.

这是从SoapExtension继承的类的示例:

namespace Playground.Client
{
    using System;
    using System.Web.Services.Protocols;

    public class SoapLogger : SoapExtension
    {
        public override object GetInitializer(System.Type serviceType)
        {
            throw new NotImplementedException();
        }

        public override object GetInitializer(LogicalMethodInfo methodInfo, SoapExtensionAttribute attribute)
        {
            throw new NotImplementedException();
        }

        public override void Initialize(object initializer)
        {
            throw new NotImplementedException();
        }

        public …
Run Code Online (Sandbox Code Playgroud)

c# logging console-application soap-client

5
推荐指数
1
解决办法
9190
查看次数

防止全球范围的污染

我们正在努力为我们正在开发的项目强制执行 JavaScript 最佳实践,我们试图设置的限制之一是不污染全局范围。

我们有一个用于每个页面的 HTML 模板,结构如下:

<!DOCTYPE html>
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <h1>Test</h1>
        <!-- Page content here -->
        <script src='https://code.jquery.com/jquery-2.1.0.js'></script>
        <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.js'></script>
        <!-- Page scripts here -->
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想做的是在页面脚本运行之前但在库加载之后“锁定”window对象并防止对其进行任何添加(例如var foo = 'foo';在全局范围内或)。window['foo'] = 'foo';

我已经看过了Object.freezeObject.seal但它们不适用于该window对象(它们引发了TypeError: can't change object's extensibility异常)。

我还查看了如下“清理”脚本:

// Include this after the libraries.
(function(window) {
    var cache = {};
    for (var key in window) cache[key] = key;
    window.cache = cache;
})(window);

// …
Run Code Online (Sandbox Code Playgroud)

javascript global-variables

5
推荐指数
1
解决办法
2405
查看次数

如何区分模型绑定错误和模型验证错误?

我正在使用 ASP.NET Core MVC 2.0 实现一个 REST API 项目,如果模型绑定失败(因为请求语法错误),我想返回 400 状态代码,如果模型验证失败,我想返回 422 状态代码(因为该请求在语法上是正确的,但包含不可接受的值)。

例如,给定一个动作,如

[HttpPut("{id}")]
public async Task<IActionResult> UpdateAsync(
    [FromRoute] int id,
    [FromBody] ThingModel model)
Run Code Online (Sandbox Code Playgroud)

id路由中的参数包含非数字字符或请求中未指定正文时,我想返回 400 状态代码,当属性ThingModel包含无效值时返回 422 状态代码。

从我所看到的情况来看,IValueProviderIModelBinder实现都ModelStateDictionary像验证器一样将它们的错误添加到请求中,并且无法在绑定和验证之间注入代码。

我怎样才能实现这样的行为?

c# model-binding model-validation asp.net-core-mvc

5
推荐指数
1
解决办法
2594
查看次数

我的Visual Studio 2012旁边的行号旁边有彩色条

今天,当我在工作中启动Visual Studio 2012时,我发现了一些新的彩色条.

我们通过RDP在共享远程服务器上工作,所以我询问是否有人安装或更新了任何东西.似乎没有人做过"任何事情".

我看到的酒吧:

酒吧的截图.

最左边的酒吧,绿色和黄色,我知道.它们显示文件自打开以来的编辑位置(黄色表示更改尚未保存,绿色表示已保存).

最右边的一个,我迷失了他们.他们似乎通常镜像最左边,但并不总是.他们坚持通过文件关闭重新打开.

通过一些修补,似乎绿色矩形意味着添加了新的线条,蓝色矩形意味着修改现有线条,红色三角形意味着删除线条.

这些是Visual Studio的About窗口中的信息:

Microsoft Visual Studio Premium 2012
Version 11.0.60315.01 Update 2
Microsoft .NET Framework
Version 4.5.50709

Installed Version: Premium

LightSwitch for Visual Studio 2012   04941-004-0044006-02568
Microsoft LightSwitch for Visual Studio 2012

Office Developer Tools   04941-004-0044006-02568
Microsoft Office Developer Tools

Team Explorer for Visual Studio 2012   04941-004-0044006-02568
Microsoft Team Explorer for Visual Studio 2012

Visual Basic 2012   04941-004-0044006-02568
Microsoft Visual Basic 2012

Visual C# 2012   04941-004-0044006-02568
Microsoft Visual C# 2012

Visual …
Run Code Online (Sandbox Code Playgroud)

visual-studio-2010

4
推荐指数
1
解决办法
3350
查看次数