我有一个问题,我试图删除我的文件,但我得到一个例外.
if (result == "Success")
{
if (FileUpload.HasFile)
{
try
{
File.Delete(Request.PhysicalApplicationPath + app_settings.login_images + txtUploadStatus.Text);
string filename = Path.GetFileName(btnFileUpload.FileName);
btnFileUpload.SaveAs(Request.PhysicalApplicationPath + app_settings.login_images + filename);
}
catch (Exception ex)
{
Message(ex.ToString());
}
}
}
Run Code Online (Sandbox Code Playgroud)
另外我应该注意,我尝试删除的文件夹可以完全控制网络服务.
完整的异常消息是:
System.UnauthorizedAccessException:拒绝访问路径'C:\ Users\gowdyn\Documents\Visual Studio 2008\Projects\hybrid\hybrid\temp_loginimages\enviromental.jpg'.at System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)at System.IO.File.Delete(String path)at hybrid.User_Controls.Imgloader_Add_Edit_Tbl.btnUpdate_Click(Object sender,EventArgs e)in C:\ Users\gowdyn\Documents\Visual Studio 2008\Projects\hybrid\hybrid\User_Controls\Imgloader_Add_Edit_Tbl.ascx.cs:第242行
有任何想法吗?
我一直在学习Angular 4,一切顺利,直到我尝试在服务中实现catch处理.我正在尝试使用"rxjs"catch并抛出,但我的控制台中有一个未定义的函数错误.
import { Injectable } from '@angular/core';
import { Http } from "@angular/http";
import { Observable } from 'rxjs/observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/observable/throw';
import { AppError } from "../app/common/app.error";
import { NotFoundError } from "../app/common/not-found-error";
import { BadInput } from "../app/common/bad-input";
@Injectable()
export class PostService {
private url = "https://jsonplaceholder.typicode.com/posts";
constructor(private http: Http) { }
deletepost(post){
// return this.http.delete(this.url + '/' + post.id)
// Hard-coded id to test 404
return this.http.delete(this.url + '/' + 93498)
.catch((error: Response) => { …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用nUnit为我的测试做一些依赖注入.我是TDD和nUnit的新手,所以我可能会错过一些简单的东西.所以基本上我已经为我的接口创建了一个SetUp方法.我最初使用的是构造函数,但是我在读取TDD时这样做很糟糕所以我现在使用的是方法.
当我运行我的测试时,我构造了一个对象并将其分配给接口,然后我使用该接口调用一个方法.我想测试它是否可以解析字符串十进制.
当我运行我的测试时,它说测试失败并且消息是:SetUp或TearDown方法的签名无效
请参阅下面的实际代码:
public class DonorTests
{
private IDonor _Donor;
private IValidateInput _ValidInput;
//DonorTests(IDonor donor, IValidateInput validInput)
//{
// _Donor = donor;
// _ValidInput = validInput;
//}
[SetUp]
void Setup(IDonor donor, IValidateInput validInput)
{
_Donor = donor;
_ValidInput = validInput;
}
[Test]
public void HandleStringNotDecimal()
{
_ValidInput = new ValidateInput();
Assert.IsTrue(_ValidInput.IsDecimal("3445.3450"));
}
}
Run Code Online (Sandbox Code Playgroud)
我的班级使用这个界面
public class ValidateInput : IValidateInput
{
public decimal RoundTwoDecimalPlaces(decimal amount)
{
return Math.Round(amount);
}
public bool IsDecimal(string amount)
{
decimal ParsedDecimal;
return Decimal.TryParse(amount, out ParsedDecimal); …Run Code Online (Sandbox Code Playgroud) 我正在尝试比较两个数字的精度和一些容差。
这是在 nUnit 中检查它的方式:
Assert.That(turnOver, Is.EqualTo(turnoverExpected).Within(0.00001).Percent);
Run Code Online (Sandbox Code Playgroud)
我正在尝试在 xUnit 中做同样的事情,但这就是我想出的全部内容:
double tolerance = 0.00001;
Assert.Equal(turnOver, turnoverExpected, tolerance);
Run Code Online (Sandbox Code Playgroud)
这不会编译,因为Assert.Equal不接受第三个类型的参数double。
任何人都知道在 xUnit 中执行此操作的好方法吗?
从sql server中删除一行时,我在Asp.net的C#代码中有一个小问题.我正在使用ExecuteNonQuery来确定我向页面呈现的消息.如果ExecuteNonQuery返回1,则显示成功消息.我陷入困境的地方是我有相同的逻辑来添加记录和更新记录,我的代码工作正常.请参阅下面的代码.
private void Delete_row(string ImageId)
{
string sSQL = "delete FROM dbo.Image_library_UK_temp where Image_id=" + ImageId;
using (SqlConnection dbConnection = new SqlConnection(app_settings.sql_conn_string_db))
{
try
{
//delete the row from db
dbConnection.Open();
SqlCommand command = new SqlCommand(sSQL, dbConnection);
command.CommandType = CommandType.Text;
command.CommandTimeout = 1024;
command.ExecuteNonQuery();
int rowsAffected = command.ExecuteNonQuery();
if (rowsAffected == 1)
{
messagepanel1.ShowSuccessMessage("The image " + txtImgTitle.Text + "has been deleted from the system.");
DisableValidation();
}
}
catch (Exception ex)
{
messagepanel1.ShowErrorMessage("Error: Deletion unsuccessful");
}
Session.RemoveAll();
generateTable(false);
} …Run Code Online (Sandbox Code Playgroud) 我想将日期"01/22/2013 10:00:00"转换为"22/01/2013 10:00:00",我的方法无法识别我的日期字符串.
DateTime dt = DateTime.ParseExact(StartDate, "MM dd yyyy h:mm", CultureInfo.InvariantCulture);
StartDate = dt.ToString("dd/M/yyyy");
dt = DateTime.ParseExact(EndDate, "MMM dd yyyy h:mm", CultureInfo.InvariantCulture);
EndDate = dt.ToString("dd/M/yyyy");
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
System.FormatException - String未被识别为有效的DateTime.
ParseExact的正确字符串格式是什么?
我将图像存储在数据库中,并希望将它们从字节数组转换为图像.我没有问题将对象转换为字节数组但是在尝试从字节数组转换为图像时出现"参数无效"错误.我传递给我的方法的对象来自数据集行.
存储过程
USE [----------------]
GO
/****** Object: StoredProcedure [dbo].[usp_imageloader_add_test] Script Date: 01/16/2012 09:19:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[usp_imageloader_add_test]
@p_Image Image
as
INSERT into Test_Images VALUES(@p_Image)
Run Code Online (Sandbox Code Playgroud)
上传文件控制 /将图像文件转换为字节数组并将数据保存到数据库
protected void btnUpload_Click(object sender, EventArgs e)
{
if (ctrlUpload.PostedFile != null)
{
if (ctrlUpload.PostedFile.ContentLength > 0)
{
// Get Posted File
HttpPostedFile objHttpPostedFile = ctrlUpload.PostedFile;
// Find its length and convert it to byte array
int ContentLength = objHttpPostedFile.ContentLength;
// Create Byte Array
byte[] bytImg = …Run Code Online (Sandbox Code Playgroud) 我已经在SO上看到了这个问题,但它没有回答我的问题,因为我想删除一个也是重复的值的所有实例.
例如,如果我有一个包含这些值的列表:A,A,C,D,B,A,E,E
我想写一些逻辑,其中新列表具有以下值:C,D,B.
因为A和E被归类为重复,我想完全删除它们.
所以考虑到这一点,这是我的代码:
// List having duplicate string elements.
List<string> list = new List<string>();
list.Add("A");
list.Add("A");
list.Add("C");
list.Add("D");
list.Add("B");
list.Add("A");
list.Add("E");
list.Add("E");
// Get distinct elements.
var distinct = (from item in list orderby item select item).Distinct();
foreach (string value in distinct)
{
Console.WriteLine("Distinct : {0}", value);
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
A,B,C,D,E
我是 Docker 的新手,我正在尝试容器化我的 WebAPI,它是包含多个项目的解决方案的一部分。这是我的文件夹结构
Solution
-- RandomPersonPicker.Api
-- .dockerignore
-- .dockerfile
-- RandomPersonPicker.Date
-- RandomPersonPicker.Domain
-- RandomPersonPicker.Tests
Run Code Online (Sandbox Code Playgroud)
这是我的 Docker 文件:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ../
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/sdk:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "RandomPersonPicker.Api.dll"]
Run Code Online (Sandbox Code Playgroud)
我从 RandomPersonPicker.Api 文件夹运行这个命令
docker build -t aspnetapp
Run Code Online (Sandbox Code Playgroud)
最后这是我的堆栈跟踪:
Skipping …Run Code Online (Sandbox Code Playgroud) 我在服务器端代码上创建一个按钮时遇到了一些问题.我正在使用stringbuilder在html中构建一个表,我想创建一个新的按钮对象并将其传递给我的stringbuilder对象.我遇到的问题是我的页面在调试时无法编译.我想给我的按钮对象一个runat ="server"属性,但我不知道如何.
Button add_img_popup = new Button();
add_img_popup.Text = "Add new Image"; // text
add_img_popup.Click += new EventHandler(addImgPopup_Click); // click event handler
add_img_popup.Enabled = true;
add_img_popup.ID = "btn_add_img_popup"; // programmatic id
Page.Controls.Add(add_img_popup); // add to page controls so it renders
st.Append("<tr>");
st.Append("<td>");
st.Append(add_img_popup); // pass to string builder
st.Append("</tbody>");
st.Append("</table>");
Run Code Online (Sandbox Code Playgroud)
以及服务器给我的消息.
必须将带有'Button'类型的控件'btn_add_img_popup'放在带有runat = server的表单标记内.描述:执行当前Web请求期间发生未处理的异常.请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息.
异常详细信息:System.Web.HttpException:类型为"Button"的控件"btn_add_img_popup"必须放在带有runat = server的表单标记内.
来源错误:
在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.
堆栈跟踪:
[HttpException(0x80004005):类型为"Button"的控件"btn_add_img_popup"必须放在带有runat = server的表单标记内.] System.Web.UI.Page.VerifyRenderingInServerForm(Control control)+8702387 System.Web.UI.WebControls .Button.AddAttributesToRender(HtmlTextWriter writer)+54 System.Web.UI.WebControls.WebControl.RenderBeginTag(HtmlTextWriter writer)+20 System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)+20 System.Web.UI. Control.RenderControlInternal(HtmlTextWriter writer,ControlAdapter adapter)+27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer,ControlAdapter adapter)+99 …