本文整理汇总了C#中System.Net.Connection.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# Connection.Dispose方法的具体用法?C# Connection.Dispose怎么用?C# Connection.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.Connection
的用法示例。
在下文中一共展示了Connection.Dispose方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandleSessionAsynchronously
/// <summary>
/// When session has completed, log any error which occured and dispose resources. This is done asynchronously
/// sincew we want to be able to start new session without previous to complete.
/// </summary>
private void HandleSessionAsynchronously(Task sessionTask, Connection connection, ISession session)
{
sessionTask.ContinueWith(f =>
{
if (f.IsFaulted)
{
var exception = f.Exception.InnerException;
_log.LogException(new LogEvent()
{
LogLevel = LogLevel.Error,
EventType = LogEventType.Application,
Message = exception.Message,
RemoteEndpoint = connection.RemoteEndpoint,
SessionId = connection.SessionId,
Protocol = session.Protocol.ToString()
}, exception);
}
SessionManager.DecreaseSessionCount(session.Protocol);
// Session has ended.
connection.Dispose();
});
}
示例2: MessageReceived
//.........这里部分代码省略.........
}
}
else
{
body = string.Empty;
}
}
}
catch
{
// TODO: Logging etc.
return ContinuationAction.Continue; // Allow other plugins to execute.
}
// TODO: Get data from the body somehow.
// You can also look into attachments for e.g. InfoPath forms:
// e.ReceivedInformation.Message.Attachments
try
{
var con = new Connection();
var cs = new ConnectionSetup();
cs.ParseConnectionString(_k2ServerConnectionString);
try
{
Exception lastException = null;
con.Open(cs);
// AlternateIdentities are identities with the same email
// address, most likely due badly configured claims.
for (var i = 0; i < e.AlternateIdentities.Length; i++)
{
var alt = e.AlternateIdentities[i];
string fqn;
// Search for a FQN in the identity.
if (alt.TryGetValue("Fqn", out fqn))
{
try
{
con.RevertUser();
con.ImpersonateUser(fqn);
var pi = con.CreateProcessInstance(workflowName);
// TODO: Set data in the workflow.
con.StartProcessInstance(pi);
// Tell the user the workflow was started.
_destination.ReplyTo(e.ReceivedInformation.Message, new MessageBodyReader("text/plain", "Workflow started"), replyExtended);
e.ReceivedInformation.Commit(); // Indicate we were able to handle the message.
return ContinuationAction.Halt; // Stop other plugins from executing.
}
catch (Exception ex)
{
// TODO: Logging etc.
// This isn't nessecarily a complete failure,
// one of the other alternate identities may be
// able to action this.
lastException = ex;
}
}
}
string message;
if (lastException != null)
{
// Identities exist, but the user likely doesn't have rights.
message = lastException.ToString();
}
else
{
// No identities exist.
message = "Could not find a K2 user for your email address.";
}
message = "The workflow could not be started: " + message;
// Respond with the error.
_destination.ReplyTo(e.ReceivedInformation.Message, new MessageBodyReader("text/plain", message), replyExtended);
e.ReceivedInformation.Commit(); // Indicate we were able to handle the message.
return ContinuationAction.Halt; // Stop other plugins from executing.
}
finally
{
if (con != null)
{
con.Close();
con.Dispose();
}
}
}
catch
{
// TODO: Logging etc.
return ContinuationAction.Continue; // Allow other plugins to execute.
}
}