我的应用是在 Asp.Net MVC3编码中C#,我有一个SSRS解决方案SQL Server Business Intelligence Developement Studio中Visual Studio 2008,我打电话SSRS通过我的报告Asp.Net MVC3应用.几天前我的应用程序运行正常,但突然我收到如下错误:
我的错误:
The request failed with HTTP status 401: Unauthorized.
Run Code Online (Sandbox Code Playgroud)
我的尝试
我的SSRS报告部署在我的local server.我在SSRS报告解决方案的数据源中正确设置了我的凭证.
我试图在我的web.config中添加标签 <identity impersonate="true" userName="Domain\username" password="Password" />
我尝试添加 IReportServerCredentials reportCredentials = new ReportServerCredentials("MyUserName", "MyPassword", "ServerName");
我运行Visual Studio作为'Run as Administrator'.
我尝试了此链接中提到的解决方案使用RegEdit创建密钥
更新 我尝试了以下解决方案,但结果相同:SSRS中的未经授权的错误
以上解决方案都没有奏效,但是当我在其他机器上运行相同的解决方案时,解决方案运行良好并且没有显示错误.它只有当我从我的机器运行解决方案然后我得到错误The request failed with HTTP status 401: Unauthorized.
我有一个带有两个用户的asp.net MVC3应用程序Admin和General.Cookies都为这两个用户保存.以下是我的cookie保存方式.
Cookie.setCookie(No,DOB,User);
Run Code Online (Sandbox Code Playgroud)
使用setCookie方法创建一个Cookie类
public static void setCookie(int No,DateTime DOB,string User)
{
HttpCookie MyCookie= new HttpCookie("MyCookie");
MyCookie["No"] = No;
MyCookie["DOB"] = DOB;
MyCookie["User"] = User;
MyCookie.Expires.Add(new TimeSpan(0,30,0));
HttpContext.Current.Response.Cookies.Add(MyCookie);
}
Run Code Online (Sandbox Code Playgroud)
以上是我的Setcookie代码.
MyCookie.Expires.Add(new TimeSpan(0,30,0));will give the default expiry time to 30 minutes.
Run Code Online (Sandbox Code Playgroud)
我尝试的是当用户点击注销时,cookie应该被完全清除,用户不应该能够导航到站点的任何Authenticated部分.我也试过这个但没用
MyCookie.Expires.Add(-1);
Run Code Online (Sandbox Code Playgroud)
但我在我的SetCookie方法中尝试过这种方法.当用户单击"注销"时,如何清除cookie.我也尝试在Cookie类中创建一个Logout方法,如下所示:
public static bool logout()
{
HttpCookie reqCookies = HttpContext.Current.Request.Cookies["MyCookie"];
reqCookies.Expires.AddDays(-1);
return true;
}
Run Code Online (Sandbox Code Playgroud)
在这里我尝试使用已保存的cookie并通过设置.AddDays(-1);
和使用if cookie.Logout()==true 并将其重定向到我的主页来使其过期.但它在RunTime上给出了以下错误
.添加或减去的值会导致无法表示的DateTime.参数名称:value
关于如何实现目标的任何建议/指导.
我的应用程序是在C#.Net编码的Asp.Net MVC3中.我使用谷歌货币转换API来获得转换.
Google货币转换API 我将From Currency和To Currency值以及金额传递给我的Controller.下面是我的C#代码.
WebClient web = new WebClient();
string url = string.Format("http://www.google.com/ig/calculator?hl=en&q={2}{0}%3D%3F{1}", CurrenctCurr.ToUpper(), DestinationCurr.ToUpper(), TotCurrentPay);
string response = web.DownloadString(url);
Regex regex = new Regex("rhs: \\\"(\\d*.\\d*)");
Match match = regex.Match(response);
decimal rate = Convert.ToDecimal(match.Groups[1].Value);
Run Code Online (Sandbox Code Playgroud)
我在网上收到错误
decimal rate = Convert.ToDecimal(match.Groups[1].Value.ToString());
Run Code Online (Sandbox Code Playgroud)
错误是输入字符串不是正确的格式.它没有内部异常.
我试过它转换为toString()
decimal rate = Convert.ToDecimal(match.Groups[1].Value.ToString());
Run Code Online (Sandbox Code Playgroud)
此外,我试图在字符串变量中取match的值,然后尝试在它上面做一个SubString逻辑.但它不工作
string test = match.ToString();
test=test.substring(0,test.Indexof("""));
Run Code Online (Sandbox Code Playgroud)
有一个引号("),所以我试图取字符串的值,直到".建议我如何解决这个问题.或者我还能在正确的方向上尝试什么.
控制器代码
int No= Convert.ToInt32(reqCookies["NO"].ToString());
Student stud = db.Students.Single(n => n.No == No);
return View(stud);
Run Code Online (Sandbox Code Playgroud)
我在用户登录后传递否,并希望显示我已成功完成的登录人员的记录.我的问题再次出现在日期.当显示登录用户的记录时,出生日期是与时间一起显示.就像这个2/19/2001 12:00:00 AM,相反,我只想要日期部分,而不是像19/2/2001这样的时间.为实现这一点,我试图以dd/MM/yyyy格式转换日期
DateTime DOB=stud.DOB.tostring("dd/MM/yyyy");
Run Code Online (Sandbox Code Playgroud)
获取错误:方法'ToString()'没有重载需要1个参数
我的视图中的代码是这样的:
<td>@Html.DisplayFor(model => model.DOB.ToString())</td>
Run Code Online (Sandbox Code Playgroud)
当我尝试更改视图中的格式时
<td>@Html.DisplayFor(model => model.DOB.ToString("dd/MM/yyyy"))</td>
Run Code Online (Sandbox Code Playgroud)
获取错误:方法'ToString()'没有重载需要1个参数
我在哪里可以进行转换以及如何截断时间部分显示.
我正在使用带有C#代码的MVC3.我的SQL Server Express中有一个包含一些列的表,我有一个Excel表,它具有相同数量的列,具有相同的数据类型和名称.
我的要求是我想在我的MVC3应用程序中浏览该Excel文件,用户可以在其中选择文件.RegistrationNo我的数据库表和Excel工作表中都有一列.在导入数据库表格中的数据之前,RegNo应将Excel 表格中的数据与数据库表格中的数据进行比较,RegNo如果RegNo已经存在,RegNO那么如果RegNo表格中不存在该行,则应该不进行插入.为此RegNo应该插入.
下面是我尝试过的代码,但是我遇到了很多问题.
[HttpPost]
public ActionResult AdmissionUpload()
{
string filePath = null;
foreach (string inputTagName in Request.Files)
{
HttpPostedFileBase Infile = Request.Files[inputTagName];
if (Infile.ContentLength > 0 && (Path.GetExtension(Infile.FileName) == ".xls" || Path.GetExtension(Infile.FileName) == ".xlsx" || Path.GetExtension(Infile.FileName) == ".xlsm"))
{
filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
Path.GetFileName(Infile.FileName));
if (System.IO.File.Exists(filePath))
{
System.IO.File.Delete(filePath);
}
Infile.SaveAs(filePath);
//Infile.SaveAs(filePath);
}
if (filePath != null)
{
System.Data.OleDb.OleDbConnection oconn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + …Run Code Online (Sandbox Code Playgroud) 我们正在使用.NET Framework 2.0开发的现有软件.它与基于SOAP的Web服务交互以执行不同的任务.
我们计划将现有Web服务切换为基于Web API或SignalR.此外,我们还计划在亚马逊云上移动Web服务.
我想知道哪种技术应该用得比较好?