小编Zig*_*ler的帖子

Database.SqlQuery调用具有多个输出参数的存储过程

我有一个像下面的存储过程,它接受1个输入参数(Name)并返回2个输出参数(EmployeeId和Salary).我们的存储过程会将Name插入Employee表并返回EmployeeId和Salary.

CREATE PROCEDURE dbo.insertemployee
@iName varchar(500),
@OEmployeeId int OUTPUT,  
@OSalary Money OUTPUT
Run Code Online (Sandbox Code Playgroud)

我们正在使用EF Code First方法.我能够将记录插入到employee表中,但无法找到如何访问我的两个输出参数.我知道我需要使用如下.任何人都可以告诉我一定是什么结果.根据MSDN,它可以是一个具有列名作为属性的类.但我的情况是我们没有返回我的表的列,但我们使用两个输出参数,我需要知道如何访问这两个输出参数@OEmployeeId和@OSalary.

context.Database.SqlQuery<Result>(" exec dbo.insertemployee....);

public class Result
{
   // what properties I must give here       
}
Run Code Online (Sandbox Code Playgroud)

entity-framework code-first

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

无法在 Azure Devops 中仅构建解决方案的一个项目

我正在尝试使用 Azure Devops 创建一个新的构建管道。我可以构建整个解决方案,但是我无法在同一解决方案中为单个项目构建。

我收到以下错误:

nuget 命令失败,出现退出代码 (1) 和错误(无法确定用于还原 NuGet 包的包文件夹。请指定 -PackagesDirectory 或 -SolutionDirectory。)包无法还原

有人可以帮我吗?

azure-devops

9
推荐指数
1
解决办法
5873
查看次数

使用Windows Service Bus(1.1)配置向导进行配置时出错

我正在尝试使用服务总线配置向导配置Windows服务总线(1.1).我尝试配置时遇到错误.任何人都可以告诉我这是什么问题.

[错误] [2014年5月9日上午9时32分40秒]:System.Management.Automation.CmdletInvocationException:启动服务服务总线网关机器USHP2-10-056A失败:超时已过期,该操作尚未完成.---> Microsoft.ServiceBus.Commands.Common.Exceptions.OperationFailedException:启动服务服务总线网关机器USHP2-10-056A失败:超时已过期,该操作尚未完成.---> System.ServiceProcess.TimeoutException:超时已到期且操作尚未完成.

请参阅下面的服务总线配置信息

管理数据库SQL实例USHP2-10-056A\SQLSERVER2012SP1

启用与SQL Server实例False的SSL连接

验证Windows身份验证

管理数据库名称SbManagementDB

网关数据库SQL实例USHP2-10-056A\SQLSERVER2012SP1

启用与SQL Server实例False的SSL连接

验证Windows身份验证

网关数据库名称SbGatewayDatabase

消息容器SQL实例USHP2-10-056A\SQLSERVER2012SP1

启用与SQL Server实例False的SSL连接

验证Windows身份验证

消息容器数据库名称SBMessageContainer01

RunAs Account gopalac-c @ HERBALIFECORP

RunAs密码 *******

证书生成密钥 *******(Gopala123)

农场证书自动生成

加密证书自动生成

HTTPS端口9355

TCP端口9354

Message Broker端口9356

资源提供程序HTTPS端口9359

Amqp Port 5672

Amqps Port 5671

内部通信端口范围9000 - 9004

在此计算机上启用防火墙规则True

管理员组BUILTIN\Administrators

注册容器数据库SBMessageContainer01 SBMessageContainer02 SBMessageContainer03

创建命名空间ServiceBusDefaultNamespace

管理门户管理员用户adminUser

管理门户租户用户租户用户

servicebus

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

SQL:根据列将一行拆分为两行

如果这是重复的,我很抱歉。请指出我正确的问题。我使用的是 SQL SERVER 2008。我使用下面的查询,因为我需要从 3 个表中获取数据。

SELECT qc.FileID as [FileID],    
qc.QID1 as [QID1],    
xqs.SID1 as [SID1],   
xqc.CID1 as [CID1],  
xqs.Comments as [SComments],  
xqc.Comments as [CComments]  
FROM QCTable(nolock) qc  
JOIN QCSectionTable (nolock) xqs ON qc.QCID = xqs.QCID  
LEFT JOIN QCChargeTable (nolock) xqc ON xqc.QCXrefID = xqs.QCXrefID
Run Code Online (Sandbox Code Playgroud)

对于上面我得到这个像 FieID1 SID1 SID1 CID1 SComments CComments

我有一排像下面

FileID1  QID1 SID1 CID1 SComments  CComments
Run Code Online (Sandbox Code Playgroud)

我需要将上面的行拆分为

FileID1 QID1 SID1 null SComments
FileID1 QID1 SID1 CID1 CComments
Run Code Online (Sandbox Code Playgroud)

提前致谢。

sql sql-server sql-server-2008

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

当属性具有 IDictionary&lt;string, string&gt; 时反序列化对象

我看到了这个,但它对我没有帮助。

使用 Dictionary<string, object> 属性反序列化对象 (Newtonsoft.Json)

我正在研究 WCF Restful 服务。我有复杂的 JSON。我有以下数据合同

[DataContract]
public class TimestampPackageDC
{
    [DataMember]
    public string Timestamp { get; set; }

    [DataMember]
    public string Company { get; set; }

    [DataMember]
    public string ContactID { get; set; }

    [DataMember]
    public string Area { get; set; }

    [DataMember]
    public string PackageID { get; set; }
} // end of class TimestampPackageDC

[DataContract]
public class TimestampPackageExtraDC: TimestampPackageDC
{
    [DataMember]
    public IDictionary<string, string> ExtraInfo { get; set; }
} // end …
Run Code Online (Sandbox Code Playgroud)

c# json.net deserialization

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

将代码从 TFS 移至 Azure DevOps Repo,而不丢失 TFS 历史记录

在我们整个公司,我们是第一个尝试这个的。

\n

我们正在尝试将代码从 TFS 获取到 Azure DevOps 中

\n

以下是 TFS 详细信息

\n
TFS Server: companyTFS\n\nTFS Project Collection: TechTeam. \n\nTFS Project name: Main.\n\nTFS Branch : Dev\n
Run Code Online (Sandbox Code Playgroud)\n

现在我正在尝试将代码从 TFS 获取到 Azure DevOps 中。我们可以将代码从 TFS 文件夹复制到 Azure DevOps 文件夹中,但我们不想丢失 TFS 历史记录。

\n

如下所述,我安装了Chocolatey 并安装了 gittfs

\n

https://blog.rsuter.com/migrate-a-tfs-repository-to-a-vsts-git-repository

\n

当我给出以下命令时

\n
git tfs clone http://companyTFS:8080/TechTeam/Main $/Main/Dev/Registration/FeeDetails . \xe2\x80\x93ignore-branches \xe2\x80\x93debug\n
Run Code Online (Sandbox Code Playgroud)\n

我遇到了异常。

\n
TF31002: Unable to connect to this Team Foundation Server: http://companyTFS:8080/TechTeam/Main.\nTeam Foundation Server Url: http://companyTFS:8080/TechTeam/Main.\n\nPossible reasons …
Run Code Online (Sandbox Code Playgroud)

tfs azure-devops

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

ASP.NET Core 在部署到 IIS 并在浏览器中启动时让用户无法工作

这不是一个重复的问题(据我研究)。我的问题是,当我在 VS 2019 中运行 ASP.NET Core 2.1 MVC 应用程序时一切正常,但是当我部署到本地 IIS 并在浏览器中启动我的应用程序时,它无法正常工作。我的操作系统是 Windows 10。

我在 IIS 中开启了以下功能

在此处输入图片说明

我正在下面获取在浏览器中启动我的 ASP.NET Core 2.1 MVC 应用程序的人的用户名。

属性 - > launchSettings.json

"windowsAuthentication": true,
 "anonymousAuthentication": false,
Run Code Online (Sandbox Code Playgroud)

在 Startup.cs 中

public void ConfigureServices(IServiceCollection services)
{
   services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
}
Run Code Online (Sandbox Code Playgroud)

在 Helper.cs 中

public static string GetUserName(IHttpContextAccessor httpContextAccessor)
{
  string userName = string.Empty;
  if(httpContextAccessor != null &&
     httpContextAccessor.HttpContext != null &&
     httpContextAccessor.HttpContext.User != null &&
     httpContextAccessor.HttpContext.User.Identity != null)
    {
        userName = httpContextAccessor.HttpContext.User.Identity.Name;
        string[] usernames = userName.Split('\\');
        userName = …
Run Code Online (Sandbox Code Playgroud)

c# iis asp.net-core-mvc

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

将列表合并为一个

我看到下面的帖子对我来说真的很难理解.所以我重新发布它.对不起,如果有人认为它是重复的.我只有简单的要求

C#加入/ Linq和Lambda的位置

我有这样的课

public class Person
{
  public int Id{get;set;}
  public string Name{get;set;}
  public string MailingAddress{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我有一个像下面这样的方法

public IList<Person> GetNames(IList<int> ids)
Run Code Online (Sandbox Code Playgroud)

这将给我下面的人员名单

1"Sam"""

2"开发"""

4"哈希"

我有另一种方法如下

 public IList<Person> GetMailingAddress(IList<int> ids)
Run Code Online (Sandbox Code Playgroud)

这将给我下面的人员名单

1"""ABC"

6"""TTT"

2"""XYZ"

现在我需要合并两个方法的结果,以便我可以得到这样的最终结果

1"Sam""ABC"

2"Dev""XYZ"

更新:对不起,我没有明确提供我的测试数据.请参阅上面的测试数据

c# linq merge lambda list

0
推荐指数
1
解决办法
870
查看次数

C#:从两个不同的目录中删除所有文件或不删除

如果重复,我很抱歉.请指出我正确的方向.我有2个目录Dir1和Dir2.我在Dir1中有一个文件,在Dir2中有两个文件.

Dir1 
 -Dir1File1.txt

Dir2 
 -Dir2File1.txt
 -Dir2File2.txt
Run Code Online (Sandbox Code Playgroud)

现在我需要删除Dir1和Dir2中的所有文件.我需要删除所有文件或没有,即,如果我成功删除Dir1中的文件,当我尝试删除Dir2中的文件,如果发生错误,那么我必须在Dir1中回滚我的删除.

这不是创建和删除临时文件夹,而是我所做的.我用字典跟踪我要删除的文件全名和数据.

private static void DeleteAllFilesOrNone()
    {
        string featuresFolder = @"C:\SCD_Sample\Dir1";
        string cfxFolder = @"C:\SCD_Sample\Dir2";

        Dictionary<string, string> featuresFileInfo = new Dictionary<string, string>();
        Dictionary<string, string> cfxFileInfo = new Dictionary<string, string>();
        List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();

        bool rollbackFileDeleteNeeded = false;
        try
        {
            DirectoryInfo featuresDir = new DirectoryInfo(featuresFolder);
            foreach (var f in featuresDir.GetFiles())
            {
                string key = f.FullName;
                string xml = System.IO.File.ReadAllText(key);
                featuresFileInfo.Add(key, xml);
            }

            DirectoryInfo cfxDir = new DirectoryInfo(cfxFolder);
            foreach (var f in …
Run Code Online (Sandbox Code Playgroud)

c# file

0
推荐指数
1
解决办法
148
查看次数

将文件转换为流的最快方法

我谷歌了一下,看到了读取和写入文件的不同方法,但我需要最快的方法将文件转换为流。

我正在努力提高一种简单地将文件转换为流的方法的性能。这每天都会被调用无数次,我们正在考虑改进它的性能。请看下面我写的方法。

public static Stream GetFileStream(string fileName)
{
   Stream result;
   try
   {
      if (File.Exists(fileName))
      {
          result = File.OpenRead(fileName);
          if (result.Length > 0)
          {
              result.Seek(0, SeekOrigin.Begin);
          }
      }
      else
      {
         throw new Exception(string.Format("{0} file not found.", fileName));
      }
   }
   catch (Exception ex)
   {
       throw ex;
   }
   return result;
}
Run Code Online (Sandbox Code Playgroud)

示例测试调用代码(我无法控制,如下所示)

List<string> fileNames = new List<string>();
//add almost 30,000 file names to string

List<Stream> fileStreams = new List<Stream>();
foreach(string fileName in fileNames)
{
   Stream fileStream = FileUtility.GetFileStream(fileName);
   fileStreams.Add(fileStream);
}
Run Code Online (Sandbox Code Playgroud)

我正在研究如何提高我的方法 ConvertToStream 的性能。 …

c# filestream

-2
推荐指数
1
解决办法
3228
查看次数

ASP.NET MVC从byte []生成PDF

在发布此消息之前,我在SO中查看了很多帖子,但很少有人直接说他们需要查看常见问题解答,很少有人提供使用iTextSharp或其他内容的解决方案.但没有人能解决我的问题.我的问题是我有一个byte [],我需要在新的子窗口中生成一个PDF.我们只是使用ASP.NET MVC 4而没有iTextSharp或类似的.如果已经有一个与此完全匹配的帖子,请告诉我.我可以创建新的部分视图

我的部分视图中有一个PDF图标图像.当用户点击它时,我需要在新的浏览器窗口中显示PDF.我可以成功调用一个JavaScript函数来调用从另一个服务器获取文件的控制器.我甚至可以将文件转换为字节数组.我想在新的浏览器窗口中以PDF格式显示这个字节数组.

在视图中我有像下面的PDF图标

<img onclick="ShowCDinPDF('@Url.Action("ShowPDF", "MyController", new {personid= personid} )','', '920','500')" />
Run Code Online (Sandbox Code Playgroud)

ShowCDinPDF在我的javascript中,如下所示

function ShowCDinPDF(popUpURL, windowProperties, w, h) {    
var childWindow = window.showModelessDialog(popUpURL, "", "");   
}
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有以下ShowPDF方法

public ActionResult ShowPDF(string personid)
{ 
   //call service and get data
   string fileContent = response.FileContent;
   byte[] data = Convert.FromBase64String(fileContent);

   **// Here using data I need to show PDF in new window**

}
Run Code Online (Sandbox Code Playgroud)

请告诉我如何创建PDF.

UPDATE

我没什么进展.现在我的代码如下所示.将打开一个新窗口,我会收到错误弹出消息文件不以'%PDF-'开头.我试图找到解决方案,但没有成功.

 public ActionResult ShowPDF(string personid)
 { 
     //call service and get data …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc pdf-generation

-3
推荐指数
1
解决办法
8957
查看次数