使用绝对文件名(例如C:/tinkiwinki/dipsy.lala
)使用System.Drawing.Image.Save(Stream, ImageCodecInfo, EncoderParameters)
IIS中托管的WCF服务中的方法在服务器中保存图像时,它不会保存图像,甚至不会抛出异常.
我们有一个帮助器类,它有一个SaveJpeg
方法:
public class Tools
{
public static void SaveJpeg(string path, Image img, int quality)
{
if (quality < 0 || quality > 100)
throw new ArgumentOutOfRangeException("Quality must be between 0 and 100.");
EncoderParameter qualityParam =
new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, quality);
ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
img.Save(path, jpegCodec, encoderParams);
}
}
Run Code Online (Sandbox Code Playgroud)
我们在这样的WCF OperationContract
方法中使用它:
string destDirectory = ServerDataFilePath.ImagesPath + @"\" + uploadID.ToString();
if …
Run Code Online (Sandbox Code Playgroud) 我一直在使用大规模的Massive Lib(github)
对于asp.net 4项目.
我现在继承了以前开发人员的一个项目,该项目位于asp.net 3.5中.
大多数'大规模'我仍然可以使用,但有2个类由于asp.net 4功能无法使用.我的计划是创建2个新类,使用相同的名称来修补相同的功能.
这两个类是'DynamicObject'和'ExpandoObject'
我需要一些如何创建两个类来修补asp.net 4的功能.
唯一的问题是我不知道如何去做(我已经点击谷歌了,并且只有一个想法,需要使用字典)
任何一个想法或能指出我正确的方向?
(这两个类是asp.net内置的)
谢谢
编辑:
我知道4.0不能在3.5上运行,而4.0只是'更好'但是升级不在我的手中,我知道大量使用4.0,但我想模仿的类不是大规模的一部分,而是4.0框架.
我希望有一种方法可以重新创建这两个类,并以某种方式模仿那里的功能,但我猜不是
我试图这样做 - 将任何浮点值设为int值.我试图实现的是2.00-2.99变为2.
注意:我没有尝试做近似(低于2.49变为2,而那些2.50+变为3).
到目前为止我已经这样做了
public int RemoveDecimal(float value)
{
string TempText = (string)value;
TempText.Remove(IndexOf('.'));
return int.parse(TempText);
}
Run Code Online (Sandbox Code Playgroud)
但是当浮点值以.00结尾时,这将出错
我怎样才能做到这一点?
谢谢你的帮助
假设您有一个冗长,复杂的查询来获取需要一些参数的结果.任何人都会这样做,但为了一个例子:
SELECT
q.PROD_ID, q.NAME, q.STANDARD_PROD, q.DESCRIPTION, q.PART_NUMBER,
q.COMMENTS, q.DESCRIPTION_URL,
PROD_CATEGORY.DESCRIPTION AS CATEGORY_DESCRIPTION,
PROD_TYPES.DESCRIPTION AS PROD_TYPE
FROM
(SELECT
PROD.PROD_ID,
PROD.PROD_TYPE_ID,
PROD.NAME,
PROD.STANDARD_PROD,
PROD.PROD_CATEGORY_ID,
PROD.DESCRIPTION,
PROD.PART_NUMBER,
PROD.COMMENTS,
PROD.DESCRIPTION_URL
FROM
(SELECT
PROD_ID,
PROD_TYPE_ID
FROM
XREF_PRODSYS
WHERE
(PROD_TYPE_ID = (SELECT
PROD_TYPE_ID
FROM
PROD_TYPES
WHERE
(NAME LIKE @prod_type_name)))) AS p
LEFT OUTER JOIN PROD ON p.PROD_ID = PROD.PROD_ID
WHERE
(PROD.NAME LIKE @prod_name)
AND (PROD.HIDDEN = 0)) AS q
LEFT OUTER JOIN PROD_CATEGORY ON q.PROD_CATEGORY_ID = PROD_CATEGORY.PROD_CATEGORY_ID
LEFT OUTER JOIN PROD_TYPES ON q.PROD_TYPE_ID = PROD_TYPES.PROD_TYPE_ID
Run Code Online (Sandbox Code Playgroud)
此特定查询需要两个参数,可能通过GET/POST传递给.NET …
这是html:
<input type="text" value="Google" name="Projects[0]" />
<input type="text" value="Microsoft" name="Projects[1]" />
<input type="text" value="Microsoft" name="Projects[2]" />
Run Code Online (Sandbox Code Playgroud)
这也有一个ASPX提交按钮.
<asp:Button ID="submitBtn" Text="Save" runat="server" OnClick="SubmitButton_Click" />
Run Code Online (Sandbox Code Playgroud)
- - C# - - - - - -
protected void SubmitButton_Click(object sender, EventArgs e)
{
List<string> projectsInCSharp = new List<string>();
projectsInCSharp.Add(Request["Projects[0]"]); //Google
projectsInCSharp.Add(Request["Projects[1]"]); //Microsoft
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来执行此操作并自动将其绑定到列表中.例如,在ASP.NET MVC中,您可以执行此操作.但是我正在使用WebForms而我无法切换到MVC.
我使用的是.NET 4.0,C#,ASPX.
我想要实现以下目标:
一个简单的用例是:用于审阅文档并批准或拒绝文档的工作流程.将为此创建工作流程,将通知个人,并且只要他们想要,他们就可以通过批准或拒绝审核来提供他们的反馈.
我以Andrew Zhu的代码为例,可以在http://xhinker.com/post/WF4.aspx上找到.
我遇到的问题是:
WaitForRunnableInstance
无限期等待,因此我从未收到通知我的工作流程已启动并持久保存到数据库;BlockingBookmarks
设置为我的自定义活动的id,ExecutionStatus
设置为Idle,IsInitialized
设置为1,IsSuspended
设置为0,IsCompleted
设置为0并IsReadyToRun
设置为0.我已经开始讨论微软论坛,可以在http://social.msdn.microsoft.com/Forums/en-US/wfprerelease/thread/6262874d-3493-4be1-bd05-b990307e1875/上看到并得到一些反馈,但有些事情仍然不对.
有什么想法吗?使用自定义活动的长时间运行工作流的任何有用模式?
谢谢!
可能重复:
在消息框打开时关闭wpf
我目前有这样的代码,但问题是,即使我在MessageBox
提供者中显示错误NLog
,我想关闭应用程序,以便用户可以解决问题,但是应用程序在消息中单击"确定"后继续框.
private void Load(string fileName)
{
try
{
var environments = GetEnvironments(fileName);
}
catch (FileNotFoundException ex)
{
logger.Error(ex.StackTrace);
}
catch (Exception ex)
{
logger.Error(ex.StackTrace);
}
}
Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中有一个函数,我将Unix Epoch的毫秒数与当前时间进行比较:
DateTime.Now
Run Code Online (Sandbox Code Playgroud)
这导致时间不同,即:剩余2分钟或剩余4分钟.
我发现的问题是,有些用户没有在手机上正确设置时钟,或者故意将它略微向前推.
这导致上面的计算不正确.
有没有办法围绕这个,即; 从别人那里读"真实"的时间.时间计算是在电话而不是服务器端完成的,以方便使用.
我正在尝试构建一个为给定对象分配多个属性的Expression,但是在调用已编译的委托之后,它会继续NullReferenceException
在lambda体内抛出一个:
var a = Expression.Parameter(typeof(A), "a");
var b = Expression.Parameter(typeof(B), "b");
var c = Expression.Parameter(typeof(C), "c");
LabelTarget returnTarget = Expression.Label(typeof(A));
GotoExpression returnExpression =
Expression.Return(returnTarget, a, typeof(A));
LabelExpression returnLabel = Expression.Label(
returnTarget, Expression.Constant(null, typeof(A)));
var expression = Expression.Lambda<Func<A, B, C, A>>(
Expression.Block(
typeof(A),
new[] { a, b, c },
Expression.Assign(
Expression.Property(a, typeof(A).GetProperty("B")),
b),
Expression.Assign(
Expression.Property(a, typeof(A).GetProperty("C")),
c),
returnExpression,
returnLabel
),
a, b, c);
Func<A, B, C, A> func = expression.Compile();
// Calling func throws a NullReferenceException
A result = …
Run Code Online (Sandbox Code Playgroud) 为了快捷方式,是否可以将一个变量指向另一个变量?例如,假设我在一个被调用的类中有一个变量SharedResources.proxTelescope
,如何在另一个被调用的类中获取一个变量,prox
指向第一个变量,在一种快捷类型的东西中.我可以做var prox = SharedResources.proxTelescope;
,但如果proxTelescope发生变化,它将不会反映在prox上,是吗?我应该怎么做呢.