小编Cre*_*er7的帖子

访问临时文件夹时,ASP.NET无权访问所请求的资源

我使用ASP.NET和C#创建的应用程序在读取文档时使用临时路径来存储文档,然后在以下情况下将其删除:

string path = string.Concat((Server.MapPath("~/temp/" + FileUpload1.FileName)));

Array.ForEach(Directory.GetFiles((Server.MapPath("~/temp/"))), File.Delete);
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助.StockControl文档是一个示例,可以从网络上的多台计算机导入.根据错误消息,我的文件看起来没有被上传并保存到临时目录中......

调试时的本地路径(WORKS):

C:\Users\USER\Documents\Visual Studio 2013\Projects\WebApplication5\WebApplication5\temp
Run Code Online (Sandbox Code Playgroud)

应用程序已成功部署,但是当我附加文件并按"导入"时,我会显示一条错误消息:拒绝访问路径'C:\ inetpub\wwwroot\StockControl\temp\Book1.xls'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 
Run Code Online (Sandbox Code Playgroud)

异常详细信息:System.UnauthorizedAccessException:拒绝访问路径'C:\ inetpub\wwwroot\StockControl\temp\Book1.xls'.

ASP.NET无权访问所请求的资源.考虑将资源的访问权限授予ASP.NET请求标识.ASP.NET具有基本进程标识(IIS 5上通常为{MACHINE}\ASPNET,IIS 6和IIS 7上为网络服务,IIS 7.5上已配置的应用程序池标识),如果应用程序未模拟,则使用该标识.如果应用程序模拟通过,则标识将是匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户.

要授予对文件的ASP.NET访问权限,请在"文件资源管理器"中右键单击该文件,选择"属性",然后选择"安全"选项卡.单击"添加"以添加适当的用户或组.突出显示ASP.NET帐户,并选中所需访问的框.

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

c# asp.net iis

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

根据日期数组检查日期

我正在尝试编写一个函数,该函数根据日期是否存在于数组中而返回TRUE或FALSE值.目前我有这个:

function isInArray(value, array) {
    var a = array.indexOf(value) > -1;

    if (a == false) {
        return false; //DATE DOES NOT EXIST
    }
    else {
        return true; //DATE EXISTS IN ARRAY
    }
}
Run Code Online (Sandbox Code Playgroud)

现在通常我会使用for循环,但是我使用while循环生成开始日期和结束日期之间的日期列表:

 while (day > 0) {
     var tDate = new Date(sDate.addDays(dayCounter));
     datesArray.push(tDate);
     day = day - 1; //DEDUCT THE DAYS AS ADDED

     var dateExists = isInArray(value, array);
     if (dateExists == false) {

     }
     else { 
         matchedDays++;
     }
     daysCounter++;
}
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用并且总是返回FALSE,我需要做什么才能使这个工作并返回正确的值?

样本数据: ARRAY[26/12/2016, 27/12/2016, 28/12/2016, 29/12/2016]

传入的价值 [27/12/2016] …

javascript ecmascript-5 ecmascript-6

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

以编程方式在C#中将SSRS报告另存为PDF

我已经阅读了关于这个问题的多篇文章,但是他们最终都没有工作,或者是在vb.net中.

我目前拥有的:

报告可通过URL访问,该URL将其呈现为PDF并在用户单击按钮时将其保存在下载文件夹中,这些文件具有通用名称,如OrderReport,OrderReport(1)......等等.

var orderNum = 1;

"http://Server/ReportServer_Name/Pages/ReportViewer.aspx?%2fOrderReport&rs:Command=Render&OrderID=" + orderNum + "&rs:ClearSession=true&rs:Format=PDF"
Run Code Online (Sandbox Code Playgroud)

我想要实现的目标:

  • 如果可能,我想使用C#获取此报告,然后指定PDF文件的名称并将其保存在正确的位置.

例如,我想将此报告保存在临时文件夹中,现在名为OrderID-1的 " C:\ temp " .我正在使用C#

我在ServiceReference中添加了一个名为ReportTestings的项目,所以参考是

using ReportTestings;
Run Code Online (Sandbox Code Playgroud)

和Web参考URL:

HTTP://Server/ReportServer_Name/ReportExecution2005.asmx

(出于安全原因删除了实际名称)

所以基于以上所有这些信息,有人可能会指出我正确的方向或给出一个代码的示例部分,谢谢所有读过这篇文章或帮助的人

使用此代码我得到此错误:(+ e

{"Access to the path 'C:\\Program Files (x86)\\IIS Express\\report1one.pdf' is denied."}    System.Exception {System.UnauthorizedAccessException})
Run Code Online (Sandbox Code Playgroud)

码:

    ReportExecutionService rs = new ReportExecutionService();
    rs.Credentials = new NetworkCredential("username", "password", "domain");
    rs.Url = "http://Server/ReportServer_Name/reportexecution2005.asmx";

    // Render arguments
    byte[] result = null;
    string reportPath = "/Invoice";
    string format = "PDF";
    string historyID = null;
    string devInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>"; …
Run Code Online (Sandbox Code Playgroud)

c# report reporting-services

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

powerapps:从另一个数据源填充下拉列表

我早些时候偶然发现了 Microsoft PowerApps,尽管我想尝试一下。我已连接到 SQL Server,并创建了一个用于浏览、查看和编辑基本应用程序的模板。现在在我的数据库中我有以下关系:

在此输入图像描述

在添加/编辑屏幕上,这会要求用户输入“ CustomerID”。我希望能够使用下拉菜单来搜索客户列表

到目前为止我有:

  1. 在我的表“客户”中添加了一个额外的数据源
  2. 将控件从文本框更改为下拉菜单

在此输入图像描述

正是在这个阶段,我陷入了困境,不知道如何进一步进步。目前在调试时,该列表没有显示任何内容,也似乎不可搜索。

powerapps

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

下载SSRS报告并保存在特定位置(C#)(未经授权)

我试图通过其URL将SSRS报告下载到数据缓冲区(字节数组)中,因此可以将其保存在特定的文件夹中,并选择其名称。如果需要,我愿意提出不同方法的建议。

问题

但是,无论输入什么凭据,我都会不断收到以下错误(401)未经授权

System.dll中发生类型'System.Net.WebException'的异常,但未在用户代码中处理

附加信息:远程服务器返回错误:(401)未经授权。

我正在使用此代码(C#):

WebClient myWebClient = new WebClient();
NetworkCredential netCredential = new NetworkCredential("username", "password");
myWebClient.Credentials = netCredential;

var theURL = "http://ReportServer/ReportServer_MYSERVER/Pages/ReportViewer.aspx?%2fPurchaseOrder&rs:Command=Render&OrderID=100&rs:ClearSession=true&rs:Format=PDF"

byte[] myDataBuffer = myWebClient.DownloadData(theURL);
Run Code Online (Sandbox Code Playgroud)

示例网址(如果我将下面的网址简单地复制到浏览器中,则可以完美地下载文件,无论访问情况如何): http://ReportServer/ReportServer_MYSERVER/Pages/ReportViewer.aspx?%2fPurchaseOrder&rs:Command=Render&OrderID=100&rs:ClearSession=true&rs:Format=PDF

我的机器在域上,我已经尝试了这些凭据,域以及数据库SA帐户,但是两者都存在相同的问题。

我知道此代码在下载PDF文件时有效,因为我从互联网上对一个随机URL进行了硬编码,并且可以正常工作,例如:“ http://www.axmag.com/download/pdfurl-guide.pdf

谢谢大家在此问题上的帮助,我希望这是可能的,因为这将对我的应用程序非常方便

c# reporting-services ssrs-2012

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

SQL Server - 正确分解付款

这是我遇到的问题

例:

  • 总价值:1550.00英镑
  • 每月付款12

这计算在129.16666666666666667,但你不会显示这样的货币值,它会显示为£129.17,相当于1550.04英镑,这是错误的

是否可以从12个分期中的11个中删除浮动/小数值,并仅在第一次或最后一次付款中显示?

示例结果

    PaymentNumber         Value
          1              £129.00 
          2              £129.00 
          3              £129.00 
          4              £129.00 
          5              £129.00 
          6              £129.00 
          7              £129.00 
          8              £129.00 
          9              £129.00 
         10              £129.00 
         11              £129.00 
         12              £131.00
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助,以及我可以做到的另一种方式的任何建议将非常感激..

我已经包含了用于测试此表的表的代码...并且还添加了以下数据.现在使用更新语句是可以接受的,我将尝试使代码在以后更有效.我有一个程序运行,以编程方式插入每月细分.

表格信息我正在使用

CREATE TABLE CustomerFinance (CustomerFinanceID int identity (1,1) not null,
TotalValueOwed decimal(12,4), --1550.00
LengthOfContract int) --LENGTGH IN MONTHS, i.e. 12

CREATE TABLE CustomerFinanceLine (CustomerFinanceLineID int identity (1,1) not null,
CustomerFinanceID int, --FOREIGN KEY LINK
PaymentNumber int, --1, 2, 3 AND SO ON
PaymentValue decimal(12,4)) …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

SQL Server基于月和日的生日列表

我目前有一张表,上面写着姓名,出生日和出生月份.

示例表数据:

Name           Day       Month
Joe Bloggs     21         10
Billy Earner   12         6
Run Code Online (Sandbox Code Playgroud)

我已经构建了一个查询,将在当年(2016)生日那里填充:

SELECT
MyCalendarID,
Name,     
CAST(CAST(DATEPART(YEAR, GETDATE()) AS varchar) + '-' + CAST(TheMonth AS varchar) + '-' + CAST(TheDay AS varchar) AS DATE) AS TheBirthday
FROM MyCalendar
Run Code Online (Sandbox Code Playgroud)

来自查询的示例数据:

Name                DOB
Joe Bloggs      2016-10-21
Billy Earner    2016-06-12
Run Code Online (Sandbox Code Playgroud)

但是我希望能够在明年和同一张桌子中填充这个.所以这张桌子将显示2016年和2017年的生日.

问题:这是否可行,如果是,我将如何在SQL Server中生成此视图

预期成绩:

Name                DOB
Joe Bloggs      2016-10-21
Billy Earner    2016-06-12
Joe Bloggs      2017-10-21
Billy Earner    2017-06-12
Run Code Online (Sandbox Code Playgroud)

附加信息:

由于我不希望这个视图变大,我只希望视图显示当前年份和下一年.因此,一旦2017年到来,我希望此视图适应2017年和2018年的展示

谢谢你对此事的帮助,我希望它不会变得困难

表创建和数据:

CREATE TABLE MyCalendar (MyCalendarID INT IDENTITY (1,1) NOT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

Lightswitch 2013:在JS中保存然后刷新

我有2套代码:

  1. 保存数据

myapp.activeDataWorkspace.ProjectHandlerData.saveChanges();

2.刷新页面

window.location.reload();
Run Code Online (Sandbox Code Playgroud)

有没有办法让这两个一起工作在一个按钮,因为目前当我点击保存,浏览器识别更改和(你确定要离开页面)消息或这些行弹出的东西..

干杯

javascript lightswitch-2013

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

Javascript - 使此代码高效

这是一个相对简单的问题,但我想看看其他人如何解决以下问题:

  1. 用户可以在文本框txtUserInput中输入(x)数量

所以例如 UserInput = 14

  1. 1个盒子最多可包含4个项目.

所以根据上面的txtUserInput,我希望程序计算出需要多少个盒子(在这种情况下答案是4个盒子,最后一个盒子里剩下2个空格.

下面是基本形式的代码示例:

var itemsCount = txtUserInput;
var boxes = 0;

if (itemsCount <=4) {
boxes ++;
}

else if (itemsCount <=8 && >4) {
boxes += 2;
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我可以一遍又一遍地重复这个以获得正确的结果,但它会变得非常乏味,而且比它需要的时间长得多......

所以使用JavaScript我怎么能把它放到一个数组/循环中并获得框给我我想要的输出?

谢谢您的帮助

javascript

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

SQL Server - 删除(x)行数取决于WHERE caluse

我有一个场景,全天都将记录设置为删除(BOOLEAN VALUE),但实际上并未删除.这些值的列表显示在视图中(让我们称之为ViewToDelete),例如:

ID      DELETE
--------------
1         1
4         1
5         1
Run Code Online (Sandbox Code Playgroud)

在一天结束时,我希望能够一次性删除此视图中显示的这些值,是否可以实现,如果是这样,如何实现?

DELETE FROM mytablename 
WHERE ID = ViewToDelete.ID 

--THIS WOULD WORK IF THERE WAS 1 VALUE, BUT FOR MULTIPLE VALUES
--IT RETURNS AN ERROR AS I WOULD EXPECT
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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