小编Gar*_*eth的帖子

为什么使用整数而不是长?

我经常看到Overflow错误有关的问题.

我的问题是为什么使用integer变量声明而不是仅仅定义所有数值变量(不包括double等)long

除非您正在执行类似for循环的操作,您可以保证该值不会超过32,767的限制,否则是否会对性能产生影响或其他会导致不使用long

vba integer integer-overflow long-integer

59
推荐指数
6
解决办法
6万
查看次数

在C#中交叉两个列表

我有两个清单:

  List<int> data1 = new List<int> {1,2,3,4,5};
  List<string> data2 = new List<string>{"6","3"};
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

var newData = data1.intersect(data2, lambda expression);
Run Code Online (Sandbox Code Playgroud)

如果,lambda表达式应该返回true data1[index].ToString() == data2[index]

c# intersection

46
推荐指数
3
解决办法
10万
查看次数

获取域名

我的计算机位于域(Active Directory)中,我需要动态获取域名.我在互联网上找到了以下代码:

SelectQuery query = new SelectQuery("Win32_ComputerSystem");
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
{
    foreach (ManagementObject mo in searcher.Get())
    {
        if ((bool)mo["partofdomain"])
        {
            this.Domain = mo["domain"].ToString();
            break;
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

它完全按照我的意愿工作,并返回我想要的域名(当我以管理员身份登录时).如果用户不是域管理员,我有一个Access denied例外.

有没有人知道如何使用非域管理员用户获取域名?

注意:我在Internet上找到了这个解决方案,System.Environment.UserDomainName;但它只给了我一部分域名.

即我的域名是:something.domain.comUserDomainName唯一的回报something.

.net c# dns sharepoint-2007 .net-2.0

38
推荐指数
3
解决办法
9万
查看次数

使用DefaultCredentials和DefaultNetworkCredentials

我们很难确定这些凭证对象的工作方式.事实上,他们可能无法按照我们期望的方式工作.这是对当前问题的解释.

我们有2台服务器需要通过webservices相互通信.第一个(让我们称之为Server01)有一个Windows服务作为NetworkService帐户运行.另一个Server02具有与IIS 6.0一起运行的ReportingServices.Windows Service on Server01正在尝试使用Server02ReportingServices WebService生成报告并通过电子邮件发送它们.

所以,这是我们到目前为止所做的尝试.

在运行时设置凭据(这完全正常):

 rs.Credentials = new NetworkCredentials("user", "pass", "domain");
Run Code Online (Sandbox Code Playgroud)

现在,如果我们可以使用通用用户一切都没问题,但是......我们不被允许.因此,我们尝试使用DefaultCredetials或DefaultNetworkCredentials并将其传递给RS Webservice:

rs.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials
Run Code Online (Sandbox Code Playgroud)

要么:

rs.Credentials = System.Net.CredentialCache.DefaultCredentials
Run Code Online (Sandbox Code Playgroud)

无论哪种方式都行不通.我们总是从IIS获得401 Unauthrorized.现在,我们知道如果我们想要访问记录为NetworkService的资源,我们需要将其授予DOMAIN\MachineName$(http://msdn.microsoft.com/en-us/library/ms998320.aspx):

授予对远程SQL Server的访问权限

如果要访问同一域(或受信任域)中的另一台服务器上的数据库,则使用网络服务帐户的网络凭据对数据库进行身份验证.网络服务帐户的凭据的格式为DomainName\AspNetServer $,其中DomainName是ASP.NET服务器的域,AspNetServer是您的Web服务器名称.

例如,如果ASP.NET应用程序在域CONTOSO中名为SVR1的服务器上运行,则SQL Server将看到CONTOSO\SVR1 $的数据库访问请求.

我们假设以相同的方式授予IIS访问权限.但事实并非如此.或者至少,没有正确设置某些内容以使其正确进行身份验证.

所以,这里有一些问题:

  1. 我们在某个地方读过"模仿用户",我们是否需要在Windows服务中的某处设置?

  2. 是否可以将对NetworkService内置帐户的访问权限授予远程IIS服务器?

谢谢阅读!

web-services credentials defaultnetworkcredentials reporting-services

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

无法建立连接,因为目标计算机主动拒绝它127.0.0.1

我尝试使用WebRequest类连接到托管在不同服务器上的Web服务.Web服务返回一个字符串作为响应.这样做我得到一个错误:

"System.Net.Sockets.SocketException:无法建立连接,因为目标计算机主动拒绝它"

System.Net.WebException:无法连接到远程服务器---> System.Net.Sockets.SocketException:无法建立连接,因为目标计算机在System.Net.Sockets.Socket上主动拒绝它127.0.0.1:14012 System.Net.ServicePoint.ConnectSocketInternal上的.DoConnect(EndPoint endPointSnapshot,SocketAddress socketAddress)(布尔值connectFailure,套接字s4,套接字s6,套接字和套接字,IP地址和地址,ConnectSocketState状态,IAsyncResult asyncResult,异常和异常)---内部异常堆栈结束跟踪---在System.Net.HttpWebRequest.GetRequestStream(TransportContext&context)at System.Net.HttpWebRequest.GetRequestStream()at Limoallover.InsertSoapEnvelopeIntoWebRequestUS(XmlDocument soapEnvelopeXml,HttpWebRequest webRequest)at Limoallover.dawUpdateDriverStatus(String apiId,String apiKey,String idTrip ,String tripCode,String statusCode)at Limoallover.UpdateJobStatus(String Lat,String Lng,Int32 DriverID,Int32 nJobStatus,Int32 nJobId,String Company ID,String idTrip,String tripCode,String statusCode)

private  HttpWebRequest CreateWebRequestUS(string url, string action)
{
    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
    webRequest.Headers.Add("SOAPAction", action);
    webRequest.ContentType = "text/xml;charset=\"utf-8\"";
    webRequest.Accept = "text/xml";
    webRequest.Method = "POST";
    return webRequest;
}

private  XmlDocument CreateSoapEnvelopeUS(string apiId, string apiKey, string idTrip, string tripCode, string statusCode)
{
    XmlDocument soapEnvelop = new XmlDocument();

    string xml = "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"; …
Run Code Online (Sandbox Code Playgroud)

.net c# sockets asp.net

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

Twitter Bootstrap选择箭头缺失

我在twitter bootstrap中遇到选择下拉按钮的问题.它发生在我在机器上安装的两个浏览器(IE11,Chrome)中,并且它不仅限于"我的网站".

以下是bootstrap网站(操作系统:Windows 8.1 Broswer:Chrome)的屏幕截图(http://getbootstrap.com/css/#forms-controls):

例

我检查了控制台窗口,所有资源都正确加载.

任何人都可以帮助我解决为什么会这样做/要解决的步骤?

html css twitter-bootstrap drop-down-menu

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

在Sql Server连接字符串中使用Encrypt = yes - >"provider:SSL Provider,error:0 - 证书的CN名称与传递的值不匹配."

Encrypt=yes在SQL Server连接字符串中使用,因为我需要加密TCPIP流量,但在打开连接时出现错误:

A connection was successfully established with the server, but then an error
occurred during the pre-login handshake. (provider: SSL Provider, error: 0 -
The certificate's CN name does not match the passed value.)
Run Code Online (Sandbox Code Playgroud)

有任何建议如何解决这个问题?我假设我的服务器之间需要某种证书关系,但不知道从哪里开始.

我需要两个连接,一个连接到SQL 2000服务器,一个连接到2005服务器.

c# sql sql-server ssl sql-server-2005

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

VBA Excel"编译错误:对象必需"

我正在使用excel中的VBA代码,我有以下代码

Set strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4)
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我得到一个编译错误来调试并读取Object Required.这要求我做什么?

这是一段更大的代码:

strHSLtemp = "C:\Users\Desktop\To Do\MidDay Orders Macro Tool\Temp Files\HSL Orders Temp.xlsx"
wbHSLtemp = Dir(strHSLtemp)
Set wbHSLtemp = Workbooks.Open(strHSLtemp)
Set wsHSLtemp = wbHSLtemp.Sheets(1)
Dim arrModels() As String, strModel As String, blMultipleModels As Boolean, rngModel As range, lngModels As Long
Dim rng As range
Set strModel = Right(rng.Offset(0, 13).Value, Len(rng.Offset(0, 13).Value) - 4) 'strip off leading "HSL-"
strModel = Replace(strModel, " / ", "/") 'get rid of the …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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

在Powershell中运行Access宏

我正在尝试使用以下代码在PowerShell(v4.0 Windows 8.1)中运行Access 2010宏:

$Access = New-Object -com Access.Application

$Access.OpenCurrentDatabase("SomePath", $False, "Password")
$Access.Run("SomeProc")
$Access.CloseCurrentDatabase()
$Access.Quit()

[System.Runtime.InteropServices.Marshal]::ReleaseComObject($Access)
Remove-Variable Access
Run Code Online (Sandbox Code Playgroud)

我在行上$Access.Run("SomeProc")发现错误,指出没有足够的参数:

使用"1"参数调用"Run"的异常:"参数数量无效.(HRESULT异常:0x8002000E(DISP_E_BADPARAMCOUNT))"

该过程SomeProc不需要任何参数.

我已经阅读了关于run方法的msdn文章,只需要一个参数.

我也尝试过这种解决方法,但也因为一个无关的原因而无法工作.

有谁知道错误的原因是什么以及如何使该方法工作?

macros powershell ms-access

10
推荐指数
1
解决办法
5132
查看次数

记录集在存储过程执行后关闭

我正在使用VBA中的ADO执行存储过程.我正在尝试使用SQL Server 2008中的存储过程的结果填充记录集.下面的VBA示例:

Public Function DoSomething() As Variant()

Dim oDB As ADODB.Connection: Set oDB = New ADODB.Connection
Dim oCM As ADODB.Command: Set oCM = New ADODB.Command
Dim oRS As ADODB.Recordset

oDB.Open gcConn

With oCM
    .ActiveConnection = oDB
    .CommandType = adCmdStoredProc
    .CommandText = "spTestSomething"
    .NamedParameters = True
    .Parameters.Append .CreateParameter("@Param1", adInteger, adParamInput, , 1)
    Set oRS = .Execute
End With

If Not oRS.BOF And Not oRS.EOF Then 'Error thrown here'
    DoSomething = oRS.GetRows()
Else
    Erase DoSomething
End If

oRS.Close
Set oRS = …
Run Code Online (Sandbox Code Playgroud)

sql-server vba stored-procedures ado recordset

7
推荐指数
1
解决办法
6451
查看次数